Webpack4生产环境构建相关配置 - 基础配置
这里为什么要实践下这个,引用下官方的原文
开发环境(development)和生产环境(production)的构建目标差异很大。在开发环境中,我们需要具有强大的、具有实时重新加载(live reloading)或热模块替换(hot module replacement)能力的 source map 和 localhost server。而在生产环境中,我们的目标则转向于关注更小的 bundle,更轻量的 source map,以及更优化的资源,以改善加载时间。由于要遵循逻辑分离,我们通常建议为每个环境编写彼此独立的 webpack 配置。
虽然,以上我们将生产环境和开发环境做了略微区分,但是,请注意,我们还是会遵循不重复原则(Don’t repeat yourself - DRY),保留一个“通用”配置。为了将这些配置合并在一起,我们将使用一个名为 webpack-merge 的工具。通过“通用”配置,我们不必在环境特定(environment-specific)的配置中重复代码。
下面让我们用我们之前文章的项目来做下实践
1 | git clone https://github.com/durban89/webpack4-react16-reactrouter-demo.git react-webpack-demo && cd react-webpack-demo |
创建文件webpack.common.js
1 | const path = require('path'); |
创建文件webpack.dev.js
1 | const merge = require('webpack-merge'); |
创建文件webpack.prod.js
1 | const merge = require('webpack-merge'); |
然后修改package.json
1 | "build": "npx webpack --config webpack.prod.js", |
指定具体的配置文件
接下来分别执行
1 | npm run start // 开发环境执行 |
项目地址
1 | https://github.com/durban89/webpack4-react16-reactrouter-demo.git |