基本配置
一般来说,用户配置主要关注 config/project.js
和 config/steamer.config.js
文件就可以了。
steamer.config.js
webserver
[必填]
[String]
html的链接cdn
[必填]
[String]
cdn的链接port
[必填]
[String|Integer]
开发环境服务器端口
project.js
快捷配置
便于用户快速去进行一些 webpack 的配置
env
环境配置,源于process.env.NODE_ENV
npm
脚手架安装默认使用的 npm 命令行,默认npm
webpack.path
src
[String]
源目录dev
[String]
开发生成目录dist
[String]
生产上线目录example
[String]
例子test
[String]
测试目录
webpack.webserver
[String]
html的链接,值来源于 steamer.config.jswebpack.port
[String|Integer]
开发环境服务器端口,值来源于 steamer.config.jswebpack.route
[Array]
开发环境访问的路径webpack.showSource
[Boolean]
是否显示开发环境下的生成文件webpack.clean
[Boolean]
是否清理生成文件夹webpack.js
[Array
] javascript 方言,目前仅 react 支持 ts(typescript)webpack.style
[Array]
支持样式的loader,["css", "less", "stylus", "scss", "sass"]
, 默认支持css 和 less. sass, scss 和 stylus 由npm-install-webpack-plugin
自动安装webpack.extractCss
[Boolean]
生产环境是否提取csswebpack,cssModule
[Boolean]
是否启用css模块化webpack.template
[Array]
html模板,["html", "pug", "handlebars", "ejs"], 默认支持html 和 ejs, handlebars 和 pug 由npm-install-webpack-plugin
自动安装webpack.promise
[Boolean]
是否注入es6-promise包webpack.injectVar
[Object]
利用DefinePlugin给应用注入变量
injectVar: {
"process.env": {
NODE_ENV: JSON.stringify(__env)
}
}
高级配置
用函数式的写法进行 webpack 配置
custom.getOutput
[Function]
webpack output 配置custom.getModule
[Function]
webpack module 配置custom.getResolve
[Function]
webpack resolve 配置custom.getPlugins
[Function]
webpack plugins 配置custom.getExternals
[Function]
webpack externals 配置custom.getOtherOptions
[Function]
webpack 剩余的其它配置
webpack-merge 策略配置
project.js
和 webpack.base.js
的配置是通过 webpack-merge
进行合并的,这里提供了两个配置项目,让你定义自己的合并策略:
webpackMerge.smartStrategyOption
[Object]
webpack-merge smartStrategy 配置webpackMerge.mergeProcess
[Function]
定制配置的函数- 参数 webpackBaseConfig
[Object]
webpack.base.js
的配置 - 返回 处理后的 配置
- 参数 webpackBaseConfig
webpack.base.js
如果在 project.js 的配置项都无法满足你,那你可以在 tools/webpack.base.js
进行配置修改。但注意,tools
目录是非必要,尽量减少修改,是因为脚手架升级的时候,会对整个 tools
目录进行升级。