配置

Fes.js 约定 .fes.js 文件为项目编译需要配置文件,可以引入 node 端依赖项,不要引入浏览器端依赖项。

一份常见的配置示例如下:

export default {
    base: '/foo/',
    publicPath: '/',
    devServer: {
        port: 8080
    },
    mock: {
        prefix: '/v2'
    },
    proxy: {
        '/v2': {
            'target': 'https://api.douban.com/',
            'changeOrigin': true, 
        },
    },
    layout: {
        title: "Fes.js",
        footer: 'Created by MumbelFe',
        multiTabs: false,
        menus: [{
            name: 'index'
        }, {
            name: 'onepiece'
        }, {
            name: 'store'
        }, {
            name: 'simpleList'
        }]
    }
}
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
export default { mock: false };

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

最终的配置是:

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

注意

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

多环境多份配置

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

比如配置如下:

// .fes.js
export default { mock: false };

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

当我们运行:

FES_ENV=uat fes dev
1

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

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

优先级

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

提示

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