2021-03-05 15:38:38 +08:00
|
|
|
# 配置
|
|
|
|
|
2022-01-06 12:57:22 +08:00
|
|
|
Fes.js 约定 `.fes.js` 文件为项目编译需要配置文件,可以引入 node 端依赖项,不要引入浏览器端依赖项。
|
|
|
|
|
|
|
|
|
|
|
|
一份常见的配置示例如下:
|
2021-03-06 16:09:22 +08:00
|
|
|
|
2021-03-05 15:38:38 +08:00
|
|
|
```js
|
|
|
|
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'
|
|
|
|
}]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-03-06 16:09:22 +08:00
|
|
|
## 本地临时配置文件
|
|
|
|
可以新建 `.fes.local.js` 作为本地临时配置文件。这份配置会和 `.fes.js` 做 `deep merge` 后形成最终配置。
|
2021-03-05 15:38:38 +08:00
|
|
|
```js
|
|
|
|
// .fes.js
|
|
|
|
export default { mock: false };
|
|
|
|
|
|
|
|
// .fes.local.js
|
|
|
|
export default {
|
|
|
|
mock: true,
|
|
|
|
dvServer: { port: 8080 }
|
|
|
|
};
|
|
|
|
```
|
|
|
|
最终的配置是:
|
|
|
|
```js
|
|
|
|
{
|
|
|
|
mock: true,
|
|
|
|
devServer: { port: 8080 }
|
|
|
|
};
|
|
|
|
```
|
2021-03-07 19:04:05 +08:00
|
|
|
::: warning
|
2021-03-06 16:09:22 +08:00
|
|
|
`.fes.local.js` 是本地验证使用的临时配置,仅在 `fes dev` 时有效,请将其添加到 `.gitignore`,务必不要提交到 `git` 仓库中。
|
2021-03-05 15:38:38 +08:00
|
|
|
:::
|
|
|
|
|
|
|
|
## 多环境多份配置
|
2021-03-06 16:09:22 +08:00
|
|
|
可以通过环境变量 `FES_ENV` 区分不同环境,来指定当前环境的配置文件,这份配置会和 `.fes.js` 做 `deep merge` 后形成最终配。
|
|
|
|
|
|
|
|
比如配置如下:
|
2021-03-05 15:38:38 +08:00
|
|
|
```js
|
2021-03-06 16:09:22 +08:00
|
|
|
// .fes.js
|
|
|
|
export default { mock: false };
|
2021-03-05 15:38:38 +08:00
|
|
|
|
2021-03-06 16:09:22 +08:00
|
|
|
// .fes.uat.js
|
|
|
|
export default {
|
|
|
|
mock: true,
|
|
|
|
dvServer: { port: 8080 }
|
|
|
|
};
|
2021-03-05 15:38:38 +08:00
|
|
|
```
|
2021-03-06 16:09:22 +08:00
|
|
|
当我们运行:
|
|
|
|
```bash
|
|
|
|
FES_ENV=uat fes dev
|
|
|
|
```
|
|
|
|
这时候会命中 `.fes.uat.js` 这份环境配置,最终配置是:
|
|
|
|
```js
|
|
|
|
{
|
|
|
|
mock: true,
|
|
|
|
devServer: { port: 8080 }
|
|
|
|
};
|
|
|
|
```
|
|
|
|
|
|
|
|
## 优先级
|
|
|
|
|
|
|
|
本地临时配置 > 环境配置 > 基础配置
|
|
|
|
|
2021-03-05 15:38:38 +08:00
|
|
|
::: tip
|
2021-03-06 16:09:22 +08:00
|
|
|
如果多份配置中存在相同的配置项,**则优先级高的会覆盖优先级低的**。
|
|
|
|
:::
|