webpack提供的cli支持非常多的参数, 例如--mode
, 但更多的时候, 我们会使用更加灵活的配置文件来控制webpack的行为
默认情况下, webpack会读取webpack.config.js
, 但也可以通过cli参数 --config
来指定某个配置文件
配置文件中通过COMMONJS模块导出一个对象, 对象中的各种属性对应不同的webpack
配置
注意, Webpack是在构建依赖过程中可以允许多种模块化规范, 但是在打包过程中, 只允许commonjs规范, 环旭话说我们自己在构建依赖过程中的代码是不会参与webpack打包的运行过程中, 而webpack.config.js
是会在打包过程中参与运行的, 由于webpack只能运行在node环境中( 因为要读文件 ), 所以webpack.config.js
只支持commonjs规范
如果命令行跟配置文件冲突, 比如配置文件的
mode
为development
, 而我们在命令行运行--mode=production
, 最终会以命令行为主
基本参数如下
在src目录下新建一个index.js和test.js, 用来给我们调试
// index.js
console.log('helloWorld');
// test.js
console.log('nice to meet u');
-
mode: 编译模式, 字符串, 取值为
development
或者production
, 指定编译结果的运行环境, 会影响webpack对编译结果格式的处理// webpack.config.js module.exports = { mode: 'production' }
然后我们在命令行直接敲
npx webpack
dist目录中main.js如下:
!function(e){ var t={ };function r(n){ if(t[n])return t[n].exports;var o=t[n]={ i:n,l:!1,exports: