webpack-cli
介绍
webpack-cli
提供了许多命令来使 webpack
的工作变得更简单
命令
build 命令
运行 webpack
(默认命令,可用输出文件)。
"scripts":{
"build":"webpack build"
}
server 命令
运行 webpack
开发服务器webpack-dev-server
(需安装开发服务器webpack-dev-server
)
"scripts":{
"dev":"webpack server"
}
标志
--config 标志
提供 webpack
配置文件的路径
-
开发编译时指定
webpack
配置文件路径"scripts":{
"dev":"webpack server --config ./webpack.config.js"
} -
打包编译时指定
webpack
配置文件路径"scripts":{
"build":"webpack build --config ./webpack.config.js"
}
--color 标志
启用控制台颜色
--env 标志
当它是一个函数时,传递给配置的环境变量
::: warning 注意
-
当
webpack.config.js
为一个函数时,提供的第一个参数即为env
-
--env
配置的环境变量不可以在bundle
代码中使用 ::: -
package.json
通过--env
配置env
环境变量"scripts": {
"dev": "webpack serve --env mode=build --env env=dev --progress --color --config ./webpack.config.js",
"build": "webpack build --env mode=build --env=prod --progress --color --config ./webpack.config.js --watch"
}, -
webpack.config.js
使用env
环境变量const Path = require('path');
module.exports = (env, argv) => {
const {mode,currentEnv} = env;
console.log(mode);
console.log(currentEnv);
return {
mode: "development",
entry: Path.resolve(process.cwd(), "./index.ts"),
output: {
path: Path.resolve(process.cwd(), "build"),
filename: "index.js",
},
devServer: {
port: 8090,
open: true,
static: {
directory: Path.resolve(process.cwd(), "./"),
},
},
};
};
--progress 标志
在构建过程中打印编译进度
"scripts":{
"build":"webpack build --progress --config ./webpack.config.js"
}
--watch 标志
监听文件变化
::: warning 注意
--watch
标志只可以用于build
命令。用于server
命令会报错 :::
"scripts":{
"build":"webpack build --config ./webpack.config.js --watch"
}
--mode 标志
定义 webpack
所需的 mode
--analyze 标志
它调用 webpack-bundle-analyzer
插件来获取 bundle
信息