react项目如何集成HTML页面,如何搭建一个react项目(包含路由权限)

本文详述了如何一步步初始化并配置一个React项目,包括安装Webpack、配置开发服务器、使用Babel处理ES6和jsx语法、实现模块热替换、优化路径引用、处理CSS和图片、集成HtmlWebpackPlugin,以及引入Mock.js模拟数据。此外,还特别讨论了如何在项目中添加路由和权限管理,确保项目的完整性和安全性。
摘要由CSDN通过智能技术生成

如何搭建一个react项目(包含路由权限)

如何搭建一个react项目(包含路由、权限)

init项目

1.创建项目文件夹并进入

mkdir react-project

cd react-project

2.初始化npm

输入npm init ,按照提示填写项目基本信息:

7b4e5efce3335cada1262b6e5e6c659d.png

webpack

1.安装webpack(webpack4.X)

npminstall--save-dev webpack webpack-cli -g

(--save-dev与--save的区别:

--save-dev表示只是在编译过程中所依赖的包,例如:webpack、sass-loader等 最后在package.json的devDependencies部分显示

--save 表示编译后在运行时还需要依赖的包,例如 react react-dom等 最后在package.json的dependencies部分显示

-g 表示全局安装)

2.新建webpack.config.js 文件

2fc1438f0927b81582a85c31ebf2ac76.png

这样就完成了最简单的webpack配置文件。相应的我们需要在src目录下新建一个index.js 文件。

接下来在命令行输入 webpack --config ./webpack.config.js就可以输出dist文件夹。

为了方便起见,通常我们会在package.json里配置脚本命令。在scripts标签下,添加一句"build": "webpack --config ./webpack.config.js"。这样,我们就可以通过npm run build完成webpack打包。

3.配置开发应用服务器

正常情况下,我们需要以应用服务器打开我们的网页,webpack-dev-server提供了一个简单的web服务器,并且能够实时重新加载。首先需要安装webpack-dev-server:

npm install -D webpack-dev-server

接下来,我们需要修改配置文件,告诉开发服务器,在哪里寻找文件:

修改webpack.dev.config.js,增加webpack-dev-server的配置

devServer:{

contentBase:path.join(__dirname,'./dist')

}

这段配置告诉webpack-dev-server,在默认host和port下建立服务,并将contentBase目录下的目录,作为可访问文件。

接下来让我们的服务器跑起来,在package.json配置如下的命令脚本:

"scripts" : {

"start": "webpack-dev-server --mode development --open",

"build: "webpack --mode production --config ./webpack.config.js"

}

Babel & React

目前仍有浏览器不兼容ES6,同时react的jsx语法,也需要babel来将其转化为能兼容的js代码:

npm install react react-dom react-router-dom -S

npm install babel-core babel-loader babel-preset-env babel-preset-react -D

安装完之后,我们需要在webpack中配置使其生效。在webpack.config.js 的module中添加rules规则:

55768c81c2df8b3bdeafc316739f303b.png

考虑到后期可能会有别的规则需求,例如antDesign的引入,我们将babel的配置提出来,在根目录下新建文件 .babelrc:

f5662c564068452ff0b13a754fcf6c80.png

这样我们就完成babel的相关配置,并且安装了react相关依赖,可以书写jsx语法了。

模块热替换(Hot Module Replacement)

1.安装依赖

npm install [email protected] --save-dev

2. .babelrc 增加 react-hot-loader/babel

{

"presets":["es2015","react","stage-0"],

"plugins":["react-hot-loader/babel"]

}

3. webpack.dev.config.js入口增加react-hot-loader/patch

entry:[

'react-hot-loader/patch',

path.join(__dirname,'src/index.js')

]

4.根据需要,在src/index.js作相应修改,如:

46a649736e847e2f1bdbd9b666be5bb4.png

文件路径优化

以前我们引用组件,或者页面时候,都要写相对路径,如:../services/fetch,有时候可能会很复杂,webpack提供了一个别名配置,就是我们无论在哪个路径下,引用都可以这样写:services/fetch

下面我们来配置下,修改webpack.dev.config.js,增加别名:

a4c6544a70c96e34823b1d793ae05b19.png

devtool优化

代码哪里写错了,浏览器报错只报在build.js第几行,这让我们分析错误无从下手。

我们增加webpack配置devtool:

devtool:'inline-source-map';

错误信息就能详细展示啦

编译css

npm install css-loader style-loader --save-dev

webpack.dev.config.js rules增加

{

test:/\.css$/,  use:['style-loader','css-loader']

}

编译图片

npm install --save-dev url-loader file-loader

webpack.dev.config.js rules增加

{

test:/\.(png|jpg|gif)$/,

use:[{        loader:'url-loader',

options:{     limit:8192    }

}]

}

HtmlWebpackPlugin

这个插件,每次会自动把js插入到你的模板index.html里面去。

npm install html-webpack-plugin --save-dev

修改webpack.dev.config.js,增加plugin

var HtmlWebpackPlugin = require('html-webpack-plugin');

plugins:[

newHtmlWebpackPlugin({

filename:'index.html',

template:path.join(__dirname,'src/index.html')

})

]

加入 babel-plugin-transform-runtime 和 babel-polyfill

1.npm install --save-dev babel-plugin-transform-runtime

6b7c0831fd1f7d04242869a3f03e08fb.png

2.npm install --save-dev babel-polyfill

修改webpack两个配置文件:

133644b2250a14ae98c7236b72849082.png

集成PostCSS

他有很多很多的插件,比如Autoprefixer这个插件,可以自动给css属性加浏览器前缀。

npm install--save-dev postcss-loader

npm install--save-dev postcss-cssnext

a9c815f711b446e3f8234b8f3dc4d5ee.png

模拟AJAX数据之Mock.js

如何搭建一个react项目(包含路由权限)相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值