"use strict";(self.webpackChunkfes_js=self.webpackChunkfes_js||[]).push([[445],{1759:(s,n,a)=>{a.r(n),a.d(n,{data:()=>p});const p={key:"v-85fa9b2a",path:"/guide/config.html",title:"配置",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"本地临时配置文件",slug:"本地临时配置文件",children:[]},{level:2,title:"多环境多份配置",slug:"多环境多份配置",children:[]},{level:2,title:"优先级",slug:"优先级",children:[]}],filePathRelative:"guide/config.md",git:{updatedTime:1664185607e3,contributors:[{name:"wanchun",email:"445436867@qq.com",commits:1}]}}},5942:(s,n,a)=>{a.r(n),a.d(n,{default:()=>t});const p=(0,a(6252).uE)('
Fes.js 约定 .fes.js
文件为项目编译需要配置文件,可以引入 node 端依赖项,不要引入浏览器端依赖项。
一份常见的配置示例如下:
export default {\n base: '/foo/',\n publicPath: '/',\n devServer: {\n port: 8080\n },\n mock: {\n prefix: '/v2'\n },\n proxy: {\n '/v2': {\n 'target': 'https://api.douban.com/',\n 'changeOrigin': true, \n },\n },\n layout: {\n title: "Fes.js",\n footer: 'Created by MumbelFe',\n multiTabs: false,\n menus: [{\n name: 'index'\n }, {\n name: 'onepiece'\n }, {\n name: 'store'\n }, {\n name: 'simpleList'\n }]\n }\n}\n
可以新建 .fes.local.js
作为本地临时配置文件。这份配置会和 .fes.js
做 deep merge
后形成最终配置。
// .fes.js\nexport default { mock: false };\n\n// .fes.local.js\nexport default { \n mock: true,\n devServer: { port: 8080 }\n};\n
最终的配置是:
{ \n mock: true,\n devServer: { port: 8080 }\n};\n
注意
.fes.local.js
是本地验证使用的临时配置,仅在 fes dev
时有效,请将其添加到 .gitignore
,务必不要提交到 git
仓库中。
可以通过环境变量 FES_ENV
区分不同环境,来指定当前环境的配置文件,这份配置会和 .fes.js
做 deep merge
后形成最终配。
比如配置如下:
// .fes.js\nexport default { mock: false };\n\n// .fes.uat.js\nexport default { \n mock: true,\n devServer: { port: 8080 }\n};\n
当我们运行:
FES_ENV=uat fes dev\n
这时候会命中 .fes.uat.js
这份环境配置,最终配置是:
{ \n mock: true,\n devServer: { port: 8080 }\n};\n
本地临时配置 > 环境配置 > 基础配置
提示
如果多份配置中存在相同的配置项,则优先级高的会覆盖优先级低的。