Skip to content
本页目录

编译时配置

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

一份常见的配置示例如下(更多配置项请查阅配置):

js
import { defineBuildConfig } from '@fesjs/fes';

export default defineBuildConfig({
    publicPath: '/',
    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',
            },
        ],
    },
});

本地临时配置文件

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

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

// .fes.local.js
export default {
    mock: true,
    devServer: { port: 8000 }
};

最终的配置是:

js
{
    mock: true,
    devServer: { port: 8000 }
};

WARNING

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

多环境多份配置

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

比如配置如下:

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

// .fes.uat.js
export default {
    mock: true,
    devServer: { port: 8000 }
};

当我们运行:

bash
FES_ENV=uat fes dev

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

js
{
    mock: true,
    devServer: { port: 8000 }
};

优先级

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

TIP

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

Released under the MIT License.