<强> 1。初始化项目强>
mkdir react-redux,,cd react-redux npm init - y
<强> 2。安装webpack 强>
npm我webpack - d
npm我- d是npm安装——save-dev的简写,是指安装模块并保存到包中。json的devDependencies中,主要在开发环境中的依赖包。如果使用webpack 4 +版本,还需要安装CLI。
npm安装- d webpack webpack-cli
<强> 3。新建一下项目结构强>
react-redux | - package.json + | -/dist + | - index . html | -/src | - index.js >之前index . html
& lt; !DOCTYPE html> & lt; html lang=癳n”比; & lt; head> & lt;元charset=皍tf - 8”比; & lt; title> Title & lt;/head> & lt; body> & lt; div id="根"祝辞& lt;/div> & lt;脚本src=" https://www.yisu.com/zixun/bundle.js "祝辞& lt;/script> & lt;/body> & lt;/html> >之前index.js
document.querySelector(“#根”)。innerHTML=' webpack使用的; >之前非全局安装下的打包。
node_modules \。本\ webpack src \指数。js -输出dist \包。js -模式发展打开dist目录下的html显示webpack使用
1。使用配置文件
const path=要求(“路径”); module.exports={ 条目:“。/src/index.js ', 输出:{ 文件名:“bundle.js”, 路径:path.resolve (__dirname,“距离”) } }; >之前运行命令:<代码> node_modules \。本\ webpack——生产模式> 代码可以以进行打2包。NPM脚本(NPM脚本)在在包中。json添加一个npm脚本脚本(npm): <代码>“构建”:“webpack——生产模式”代码>运行<代码> npm运行构建代码>即可打包
webpack-dev-server提供了一个简单的web服务器,并且能够实时重新加载。
1。安装<代码> npm我- d webpack-dev-server 代码>修改配置文件webpack.config.js
const path=要求(“路径”); module.exports={ 条目:“。/src/index.js ', 输出:{ 文件名:“bundle.js”, 路径:path.resolve (__dirname,“距离”) },//以下是新增的配置 devServer: { contentBase:“。/dist ",//本地服务器所加载的页面所在的目录 historyApiFallback:真的,//不跳转 内联:真的,//实时刷新 端口:3000 开放:真的,//自动打开浏览器 }};运行webpack-dev-server——进步,浏览器打开localhost: 3000年,修改代码会实时显示修改的结果。添加脚本脚本,运行npm开始自动打开http://localhost: 8080/
“开始”:“webpack-dev-server——开放模式发展”启动webpack-dev-server后,在目标文件夹中是看不到编译后的文件的,实时编译后的文件都保存到了内存当中,因此使用webpack-dev-server进行开发的时候都看不到编译后的文件
2。热更新
配置一个webpack自带的插件并且还要在主要js文件里检查是否有module.hot
插件:[//热更新,不是刷新 新的webpack.HotModuleReplacementPlugin () ], >之前在主要js文件里添加以下代码
如果(module.hot) {//实现热更新 module.hot.accept (); } >之前在webpack.config.js中开启热更新
devServer: { contentBase:“。/dist ",//本地服务器所加载的页面所在的目录 historyApiFallback:真的,//不跳转 内联:真的,//实时刷新 端口:3000 开放:真的,//自动打开浏览器 热:真//开启热更新 }, >之前热更新允许在运行时更新各种模块,而无需进行完全刷新。
1。安装html-webpack-plugin插件
npm我html-webpack-plugin - d2。在webpack.config.js里引用插件
const path=要求(“路径”); 让webpack=要求(“webpack”); 让HtmlWebpackPlugin=要求(“html-webpack-plugin”); module.exports={ 条目:“。/src/index.js ', 输出:{//添加哈希可以防止文件缓存,每次都会生成4位哈希串 文件名:“包。(散列:4). js”, 路径:path.resolve(“区域”) },//以下是新增的配置 devServer: { contentBase:“。/dist ",//本地服务器所加载的页面所在的目录 historyApiFallback:真的,//不跳转 内联:真的,//实时刷新 端口:3000 开放:真的,//自动打开浏览器 热:真//开启热更新 }, 插件:[ 新HtmlWebpackPlugin ({ 模板:“。/src/index . html”, 散列:真的,//会在打包好的bundle.js后面加上散列串 }) ] };使用webpack搭建反应开发环境的方法