"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:1656304886e3,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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

本地临时配置文件

可以新建 .fes.local.js 作为本地临时配置文件。这份配置会和 .fes.jsdeep merge 后形成最终配置。

// .fes.js\nexport default { mock: false };\n\n// .fes.local.js\nexport default { \n    mock: true,\n    devServer: { port: 8080 }\n};\n
1
2
3
4
5
6
7
8

最终的配置是:

{ \n    mock: true,\n    devServer: { port: 8080 }\n};\n
1
2
3
4

注意

.fes.local.js 是本地验证使用的临时配置,仅在 fes dev 时有效,请将其添加到 .gitignore,务必不要提交到 git 仓库中。

多环境多份配置

可以通过环境变量 FES_ENV 区分不同环境,来指定当前环境的配置文件,这份配置会和 .fes.jsdeep merge 后形成最终配。

比如配置如下:

// .fes.js\nexport default { mock: false };\n\n// .fes.uat.js\nexport default { \n    mock: true,\n    devServer: { port: 8080 }\n};\n
1
2
3
4
5
6
7
8

当我们运行:

FES_ENV=uat fes dev\n
1

这时候会命中 .fes.uat.js 这份环境配置,最终配置是:

{ \n    mock: true,\n    devServer: { port: 8080 }\n};\n
1
2
3
4

优先级

本地临时配置 > 环境配置 > 基础配置

提示

如果多份配置中存在相同的配置项,则优先级高的会覆盖优先级低的

',21),e={},t=(0,a(3744).Z)(e,[["render",function(s,n){return p}]])},3744:(s,n)=>{n.Z=(s,n)=>{const a=s.__vccOpts||s;for(const[s,p]of n)a[s]=p;return a}}}]);