Skip to content
On this page

多环境

环境能力是 artus 的内置能力,在 artus-cli 中也有一定使用场景。

如何配置

可以根据不同环境,让同一个指令产生不同的功能,只需要在 plugin.{env}.ts 配置不同插件即可,比如如下配置

typescript
// config/plugin.ts
export default {
  codegen: {
    enable: true,
    package: 'plugin-codegen',
  },
};

// config/plugin.prod.ts
export default {
  codegen: false,
  codegenExtra: {
    enable: true,
    package: 'plugin-codegen-extra',
  },
};

当默认环境执行 CLI ,此时 codegen 插件起作用,当时当带上环境变量 ARTUS_CLI_ENV=prod 执行 CLI 时,codegen 会被关闭,codegenExtra 将会起作用。

该功能适合的场景:比如同个 dev 指令,在不同租户环境下执行不同的逻辑,或者同个 build 指令,本地跟在构建机器上跑不同逻辑。非常适合做这种同指令不同场景做差异化的功能。

除了通过环境变量传环境参数,在入口文件的 start 方法中也可以传,CLI 可以自己决定如何控制该参数( 比如读取文件配置等 )

typescript
#!/usr/bin/env node

import { start } from '@artus-cli/artus-cli';

// 可以在这里传环境
start({ artusEnv: 'prod' });