"use strict";(self.webpackChunkfes_js=self.webpackChunkfes_js||[]).push([[960],{5822:(n,s,a)=>{a.r(s),a.d(s,{data:()=>e});const e={key:"v-2c05b6e0",path:"/reference/config/",title:"配置",lang:"zh-CN",frontmatter:{sidebar:"auto"},excerpt:"",headers:[{level:2,title:"alias",slug:"alias",children:[]},{level:2,title:"analyze",slug:"analyze",children:[]},{level:2,title:"autoprefixer",slug:"autoprefixer",children:[]},{level:2,title:"base",slug:"base",children:[]},{level:2,title:"chainWebpack",slug:"chainwebpack",children:[]},{level:2,title:"cssLoader",slug:"cssloader",children:[]},{level:2,title:"copy",slug:"copy",children:[]},{level:2,title:"define",slug:"define",children:[]},{level:2,title:"devServer",slug:"devserver",children:[]},{level:2,title:"devtool",slug:"devtool",children:[]},{level:2,title:"dynamicImport",slug:"dynamicimport",children:[]},{level:2,title:"exportStatic",slug:"exportstatic",children:[]},{level:2,title:"externals",slug:"externals",children:[]},{level:2,title:"extraBabelPlugins",slug:"extrababelplugins",children:[]},{level:2,title:"extraBabelPresets",slug:"extrababelpresets",children:[]},{level:2,title:"extraPostCSSPlugins",slug:"extrapostcssplugins",children:[]},{level:2,title:"html",slug:"html",children:[]},{level:2,title:"inlineLimit",slug:"inlinelimit",children:[]},{level:2,title:"lessLoader",slug:"lessloader",children:[]},{level:2,title:"mock",slug:"mock",children:[]},{level:2,title:"mountElementId",slug:"mountelementid",children:[]},{level:2,title:"nodeModulesTransform",slug:"nodemodulestransform",children:[]},{level:2,title:"outputPath",slug:"outputpath",children:[]},{level:2,title:"plugins",slug:"plugins",children:[]},{level:2,title:"postcssLoader",slug:"postcssloader",children:[]},{level:2,title:"proxy",slug:"proxy",children:[]},{level:2,title:"publicPath",slug:"publicpath",children:[]},{level:2,title:"router",slug:"router",children:[]},{level:2,title:"singular",slug:"singular",children:[]},{level:2,title:"targets",slug:"targets",children:[]},{level:2,title:"terserOptions",slug:"terseroptions",children:[]},{level:2,title:"vueLoader",slug:"vueloader",children:[]},{level:2,title:"更多配置项",slug:"更多配置项",children:[]}],filePathRelative:"reference/config/README.md",git:{updatedTime:165345025e4,contributors:[{name:"wanchun",email:"445436867@qq.com",commits:1}]}}},502:(n,s,a)=>{a.r(s),a.d(s,{default:()=>On});var e=a(6252);const p=(0,e.uE)('
以下配置项通过字母排序。
类型: object
默认值: {}
详情:
配置别名,对引用路径进行映射。
示例:
export default {\n alias: {\n main: 'src/assets/styles/main'\n }\n}\n
然后 import('main')
,实际上是 import('src/assets/styles/main')
。
object
{\n analyzerMode: process.env.ANALYZE_MODE || 'server',\n analyzerPort: process.env.ANALYZE_PORT || 8888,\n openAnalyzer: process.env.ANALYZE_OPEN !== 'none',\n // generate stats file while ANALYZE_DUMP exist\n generateStatsFile: !!process.env.ANALYZE_DUMP,\n statsFilename: process.env.ANALYZE_DUMP || 'stats.json',\n logLevel: process.env.ANALYZE_LOG_LEVEL || 'info',\n defaultSizes: 'parsed' // stat // gzip\n}\n
详情:
构建结果分析,当配置 process.env.ANALYZE
时开启,例如执行ANALYZE=1 fes build
object
{\n flexbox: 'no-2009'\n}\n
类型: string
默认值: ''
详情:
设置路由前缀,通常用于部署到非根目录。比如你有路由 /pageA
、/pageB
,然后设置了 base
为 /manage/
,那么就可以通过 /manage/pageA
、/manage/pageB
访问到它们。
示例:
export default {\n chainWebpack(memo, { env, webpack }) {\n // 删除 fes 内置插件\n memo.plugins.delete('copy');\n },\n}\n
类型: Array(string) || Array(object)
默认值: []
详情:
设置要复制到输出目录的文件、文件夹。
配置约定 from-to
规则, 其中 from
是相对于 cwd
的路径,to
是相对于输出路径的路径。
示例:
export default {\n copy: {\n from: '/src/assets/images',\n to: 'assets/images'\n }\n}\n
上面示例中,实现了将 cwd
路径中的 /src/assets/images
文件夹,在编译完成后,copy
到输出路径下的 assets/images
文件夹。
类型: object
默认值: {}
详情:
用于提供给代码中可用的变量。
示例:
export default {\n define: {\n __DEV__: 'development'\n }\n}\n
然后你代码里写 console.log(__DEV__)
,会被编译成 console.log('development')
。
类型: object
默认值: {}
详情:
配置开发服务器。支持以下子配置项:
8000
localhost
启用 port 和 host 也可以通过环境变量 PORT
和 HOST
临时指定。
类型: boolean
默认值: false
详情:
路由是否按需加载
object
{}
配置 html
的输出形式,默认只输出 index.html
。
如果开启 exportStatic
,则会针对每个路由输出 html
文件。
比如以下路由,
/\n/users\n/list\n
不开启 exportStatic
时,输出,
- index.html\n
设置 exportStatic: {}
后,输出,
- index.html\n- users.html\n- list.html\n
类型:object
默认值:{}
详情:
设置哪些模块可以不被打包,通过 <script>
或其他方式引入。
示例:
export default {\n externals: {\n vue: 'window.Vue',\n },\n}\n
array
[]
配置额外的 babel
插件。
export default {\n extraBabelPlugins: [\n ['import', { libraryName: 'ant-design-vue', libraryDirectory: 'es', style: 'css' }],\n ],\n}\n
array
[]
配置额外的 babel
插件集。
类型: number
默认值: 8192
(8k)
详情:
配置图片文件是否走 base64 编译的阈值。默认是 8192
字节,小于它会被编译为 base64 编码,否则会生成单独的文件。
类型: object || boolean
默认值: {}
详情:
配置 mock 属性。
boolean
类型时,true
表示打开 mock,false
表示关闭 mock。object
类型时,默认打开 mock。也可以通过子属性 prefix
添加过滤条件,满足条件的走 mock 文件。示例:
export default {\n mock: {\n prefix: '/api/auth'\n }\n}\n
然后所有以 /api/users
开始的请求,就能进入 mock.js 文件处理。
类型: string
默认值: app
详情:
指定渲染到的 HTML 元素 id。
类型: object
默认值: { exclude: [] }
详情:
默认编译所有 node_modules
下的包,可以通过配置 exclude
来跳过某些包,以提高编译速度。
类型: string
默认值: dist
详情:
指定输出路径。
提示
不允许设定为 src
、public
、pages
等约定目录。
类型: Array(string)
默认值: []
详情:
配置额外的 fes
插件。 数组项为指向插件的路径,可以是 npm 依赖、相对路径或绝对路径。如果是相对路径,则会从项目根目录开始找。
示例:
export default {\n plugins: [\n // npm 依赖\n 'fes-plugin-hello',\n // 相对路径\n './plugin',\n // 绝对路径\n `${__dirname}/plugin.js`,\n ],\n};\n
类型: object
默认值: {}
详情:
配置代理能力。
示例:
export default {\n proxy: {\n '/v2': {\n 'target': 'https://api.douban.com/',\n 'changeOrigin': true, \n }\n }\n}\n
类型: string
默认值: /
详情:
配置 webpack 的 publicPath。当打包的时候,webpack 会在静态文件路径前面添加 publicPath
的值,当你需要修改静态文件地址时,比如使用 CDN 部署,把 publicPath
的值设为 CDN 的值就可以。
类型: object
默认值: { mode: 'hash' }
详情:
配置路由,具体请查看指南中关于路由的介绍
类型: boolean
默认值: false
详情:
配置是否启用单数模式的目录。 比如 src/pages
的约定在开启后为 src/page
目录,@fesjs/fes-plugins 插件也遵照此配置的约定。
类型: object
默认值: {}
详情:
配置需要兼容的浏览器最低版本,会自动引入 polyfill 和做语法转换。
object
const defaultTerserOptions = {\n compress: {\n // turn off flags with small gains to speed up minification\n arrows: false,\n collapse_vars: false, // 0.3kb\n comparisons: false,\n computed_props: false,\n hoist_funs: false,\n hoist_props: false,\n hoist_vars: false,\n inline: false,\n loops: false,\n negate_iife: false,\n properties: false,\n reduce_funcs: false,\n reduce_vars: false,\n switches: false,\n toplevel: false,\n typeofs: false,\n\n // a few flags with noticeable gains/speed ratio\n // numbers based on out of the box vendor bundle\n booleans: true, // 0.7kb\n if_return: true, // 0.4kb\n sequences: true, // 0.7kb\n unused: true, // 2.3kb\n\n // required features to drop conditional branches\n conditionals: true,\n dead_code: true,\n evaluate: true\n },\n mangle: {\n safari10: true\n }\n}\n