Appearance
多环境
环境能力是 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' });