直接配置webpack
boi的构建功能是基于webpack v1实现的,boi.spec
API将webpack的配置进行简化和映射,最终解释为webpack的配置。
boi.spec
API提供的可配置项比较有限,对于非常复杂的需求显得捉襟见肘。这种情形下,你可以直接对webpack进行配置。
boi.spec
API对JavaScript、Style、Html和Image四种资源暴露出可直接配置webpack的选项。以JavaScript为例,请看如下配置:
boi.spec('js',{
webpackConfig: {
preLoader: null,
preLoaders: [],
loader: null,
loaders: [],
postLoader: null,
postLoaders: [],
plugins: [],
noParse: [],
extras: {}
}
});
以上代码是四种资源类型支持的全部webpack可配置项,其中:
preLoader/preLoaders
、loader/loaders
、postLoader/postLoaders
和noParse
对应webpack的module
配置的同名配置项。详情请参照webpack官方文档;plugins
直接映射为webpack的plugins
配置项,参考官方文档;extras
比较特殊,它自身并不会映射为webpack的同名配置项,extras
的内容会作为webpack的配置项。比如:
boi.spec('js',{
loader: {
test: /\.vue$/,
loader: 'vue'
},
extras: {
vue: {
autoprefixer: false
}
}
})
上述代码映射为webpack配置为:
module: {
loaders: [{
test: /\.vue$/,
loader: 'vue'
}]
},
vue: {
autoprefixer: false
}
extras
选项可以配置除entry
、output
和module
以外的所有webpack配置项。