fes.js/docs/zh/guide/config.md

97 lines
2.0 KiB
Markdown
Raw Normal View History

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
如果多份配置中存在相同的配置项,**则优先级高的会覆盖优先级低的**。
:::