此命令生成一个webpack项目
# 此命令生成一个webpack项目
# npx webpack init [generation-path] [options]
npx webpack init ./my-app --template=default
my-app
├── src
│ └── index.js # runs on server only
├── webpack.config.js
├── index.html
├── README.md
├── package-lock.json
└── package.json
# 按制定配置文件 编译,并告诉 webpack 如何处理 stats
# npx webpack build [options]
npx webpack build --config ./webpack.config.js --stats verbose
输出系统信息
# 输出系统信息
npx webpack info --output=json
npx webpack info --output=markdown
{
"System": {
"OS": "macOS 11.5.1",
"CPU": "(8) arm64 Apple M1",
"Memory": "837.64 MB / 16.00 GB"
},
"Binaries": {
"Node": {
"version": "16.5.0",
"path": "~/.nvm/versions/node/v16.5.0/bin/node"
},
"Yarn": {
"version": "1.22.10",
"path": "/opt/homebrew/bin/yarn"
},
"npm": {
"version": "7.19.1",
"path": "~/.nvm/versions/node/v16.5.0/bin/npm"
}
},
"Packages": {
"webpack": {
"installed": "5.52.1",
"wanted": "^5.52.1"
},
"webpack-cli": {
"installed": "4.8.0",
"wanted": "^4.8.0"
}
}
}
## System:
- OS: macOS 11.5.1
- CPU: (8) arm64 Apple M1
- Memory: 529.73 MB / 16.00 GB
## Binaries:
- Node: 16.5.0 - ~/.nvm/versions/node/v16.5.0/bin/node
- Yarn: 1.22.10 - /opt/homebrew/bin/yarn
- npm: 7.19.1 - ~/.nvm/versions/node/v16.5.0/bin/npm
## Packages:
- webpack: ^5.52.1 => 5.52.1
- webpack-cli: ^4.8.0 => 4.8.0
初始化一个 loader 示例项目
# npx webpack loader [output-path] [options]
npx webpack loader ./my-loader --template=default
生成一个plugin的示例项目
# 生成一个plugin的示例项目
# npx webpack plugin [output-path] [options]
npx webpack plugin ./my-loader --template=default
# 检查webpack配置
npx webpack configtest ./webpack.config.js
[webpack-cli] Validate '/Users/xxx/project/test/webpack-demo/webpack.config.js'.
[webpack-cli] There are no validation errors in the given webpack configuration.
# 运行 webpack 开发服务器。
# npx webpack serve [options]
npx webpack serve --static --open
# webpack watch 监听文件变化
# npx webpack watch [options]
npx webpack watch --mode development
npx webpack --version
npx webpack --help
npx webpack info --version
# 以 JSON 格式输出 webpack 的运行结果
npx webpack --json
# 如果你想把 stats 数据存储为 JSON 而非输出
npx webpack --json stats.json
# 查看编译进度
npx webpack --progress
npx webpack --progress=profile
# 将 CLI 参数传递给 Node.js
NODE_OPTIONS="--max-old-space-size=4096" webpack
合并多个配置文件
npx webpack --config ./first.js --config ./second.js --merge
输出 compilation文件
https://webpack.docschina.org/api/stats/
# --json=compilation-stats.json 标志告诉
# webpack 生成一个包含依赖关系图和其他各种构建信息的 compilation-stats.json 文件。
# 通常情况下,--profile 标志也会被添加,这样的话每个 module objects ,
# 都会增加一个 profile 部分,它包含了特定模块的统计信息。
npx webpack --profile --json=compilation-stats.json