npm install --save-dev @blueking/cli-service-webpack
// 开发环境
bk-cli-service-webpack dev
// 生产环境
bk-cli-service-webpack build
案例:
{
"scripts": {
"dev": "bk-cli-service-webpack dev",
"build": "bk-cli-service-webpack build"
}
}
可以在 ${ROOT}/bk.config.js
中编写构建相关的配置,完整配置如下:
module.exports = {
assetsDir: 'static',
outputAssetsDirName: 'static',
outputDir: 'dist',
publicPath: '/',
host: '127.0.0.1',
port: 8080,
filenameHashing: true,
cache: true,
https: false,
open: false,
runtimeCompiler: true,
typescript: false,
forkTsChecker: false,
bundleAnalysis: false,
parseNodeModules: true,
replaceStatic: false,
customEnv: '',
target: 'web',
libraryTarget: 'umd',
lazyCompilation: false,
lazyCompilationHost: 'localhost',
envPrefix: 'BK_',
copy: {
from: './static',
to: './dist/static',
},
resource: {
main: {
entry: './src/main',
html: {
filename: 'index.html',
template: './index.html',
},
},
},
configureWebpack: {}, // 此处写 webpack 配置, 优先级高于 chainWebpack
chainWebpack: config => config, // 此处使用 webpack-chain 动态修改配置
}
项目使用的静态资源目录名
构建完输出的静态资源目录名
构建输出目录
webpack的publicPath配置
本地开发使用的 host
本地开发使用的 port
构建完的文件是否使用 hash
是否使用缓存,推荐开启,可极大提升开发效率
是否启用 https。开启后本地开发可以使用 https,无需额外配置证书
启动本地开发的时候,是否自动打开浏览器
是否是 ts 项目
tsconfig 地址
是否启用独立进程处理类型检查
是否对构建文件进行分析
是否对 node_modules 里面的文件进行构建
是否替换静态资源地址
是否启用多进程构建,可以填 bool 或者 number
自定义变量文件地址,可以加载自定义变量
可以填 web、library
webpack 的 libraryTarget
构建 library 的名称
是否自动拆分构建文件
是否将 css 构建到一个独立的文件中
每次构建前,是否清除目录
复制文件配置
html 和 entry 挂载的配置
是否开启懒加载
懒加载 Host
环境变量前缀,默认 BK_
可以是函数或者对象。此处写 webpack 配置, 优先级高于 chainWebpack
这里编写函数,参数是 chain,需要返回修改后的 chain。使用 chain 的形式,修改 webpack 的所有配置