配置大纲:flow.config.js
module.exports = {
// 入口文件, 继承webpack的entry特性,在ssr模式下有所变化,详情请看服务端渲染章节
entry: {
"app": './src/js/index.js'
},
srcDir: "./src", //项目源码目录
// 开发环境配置项
dev: {},
//打包环境配置
build: {},
//image的基础配置
image: {},
// css的基础配置
css: {},
//js的基础配置
js: {},
//html的基础配置
html: {},
//font的基础配置
font: {},
//白名单
white: {},
//项目应用类型,vue/ssr/multiple/spa
mode: "spa",
//项目环境,dev/test/prod
env: "dev",
// webpack的alias
alias: {},
//webpack的extensions
extensions: [],
//对webpack的loader进行补充、关闭、覆盖
loaders: {},
//对webpack的plugin进行补充、关闭、覆盖
plugins: {},
//打包插件
hooks: {}
}
基础配置
entry
webpack 的 entry 配置,但是不支持 function
- 类型:
array
或Object
提示: 该配置在mode
为ssr
时候,类型必须为Object
,且必须为如下格式:
entry: {
client: "./src/js/app.js",
server: "./src/server.js",
vendor: ["vue","vue-router"] //非必选
}
srcDir
项目源码目录
- 类型:
string
- 默认:
./src
js
js 配置
-
类型:
object
-
babel
babel 的配置
- 类型:
object
- 默认:
{ "presets": [ ["env", { "modules": false }], "stage-2" ] }
提示: 如果配置该属性,会覆盖掉默认配置,不会合并
- 类型:
-
dirname
js 输出文件夹
- 类型:
string
- 默认:
js
- 类型:
-
hash
js 输出 hash 值的长度
- 类型:
number
- 默认:16
- 类型:
css
css 配置
-
类型:
object
-
engine
css 引擎,可以为[“css”,”less”,”sass”,”postcss”,”stylus”]中的任意一个或者多个
- 类型:
string
orarray
- 默认:
css
- 类型:
-
postcss
postcss 配置
- 类型:
object
- 默认:
{ useConfigFile: false, ident: 'postcss', sourceMap: false, plugins: () => [ require('postcss-flexbugs-fixes'), require('autoprefixer')({ browsers: [ '>1%', 'last 4 versions', 'Firefox ESR', 'not ie < 9', ], flexbox: 'no-2009', }), ] }
提示: 如果配置该属性,会覆盖掉默认配置,不会合并
- 类型:
-
dirname
css 输出文件夹
- 类型:
string
- 默认:
css
- 类型:
-
hash
hash 值的长度
- 类型:
number
- 默认:16
- 类型:
image
图片配置
-
类型:
object
-
limit
图片 base64 的限制大小,单位为 Byte
- 类型:
number
- 默认:
1000
- 类型:
-
dirname
image 输出文件夹
- 类型:
string
- 默认:
images
- 类型:
-
hash
hash 值的长度
- 类型:
number
- 默认:16
- 类型:
-
imerge
是否要合图
- 类型:
boolean
- 默认:
false
- 类型:
html
html 配置
-
类型:
object
-
template
-
类型:
object
orarray
-
filename
html-webpack-plugin的 filename 配置
- 类型:
string
- 类型:
-
path
html-webpack-plugin的 template 配置
- 类型:
string
- 类型:
-
excludeChunks
html-webpack-plugin的 excludeChunks 配置
- 类型:
array
提示: 该属性只有在
template
为array
类型时候才会起作用 - 类型:
-
white
白名单,使用copy-webpack-plugin实现
-
类型:
object
-
patterns
要配置的白名单列表,copy-webpack-plugin中的第一个参数
- 类型:
array
- 类型:
-
rules
白名单规则,copy-webpack-plugin中的第二参数
- 类型:
object
- 类型:
mode
项目应用类型,在
vue/ssr/multiple/spa
中的一个
- 类型:
string
env
环境变量, dev、test、prod
- 类型:
string
- 默认:’dev’
alias
webpack 的 alias
- 类型:
object
extensions
webpack 的 extensions
- 类型:
array