Node.js 在package.json中使用变量的完美方式

Node.js 在package.json中使用变量的完美方式,node.js,angular,npm,npm-scripts,Node.js,Angular,Npm,Npm Scripts,我有很多角度环境,比如prod,dev,我想在package.json脚本中重用这些信息。 例如,我有一个配置文件“dev”,其中包含: export const environment = { production: false, basePath: 'http://localhost:8001' }; 我想在scripts下的package.json中重用这些信息 "scripts": { "generate-stub": &

我有很多角度环境,比如
prod
dev
,我想在
package.json
脚本中重用这些信息。 例如,我有一个配置文件“dev”,其中包含:

export const environment = {
    production: false,
    basePath: 'http://localhost:8001'
  };
我想在
scripts
下的
package.json
中重用这些信息

"scripts": {
  "generate-stub": "openapi-generator generate -g typescript-angular $basePath"
这样我就可以
npm运行generate stub--configuration=dev

有没有办法做到这一点?我完全了解.env和环境变量,但由于angular提供了一种专用的配置方式,因此我更愿意坚持使用它,而不复制逻辑。
同时,由于配置文件集有限,CI/CD的混乱更少,出错的机会更少,因此对用户来说会更容易。 但是,我对npm/nodejs完全是新手

有办法吗


谢谢

我认为您可以从js脚本运行此命令,类似于:

generator.js

const {exec} = require('child_process');
const config = process.argv.slice(2) // arguments
if(config === 'dev') {
 const basePath = enviroment-dev.basePath;
} else {
 const basePath = enviroment-prod.basePath;
}
exec(`openapi-generator generate -g typescript-angular ${basePath}`);
在package.json中:

"scripts": {
  "generate-stub": "node ./generator.js"
然后您可以使用参数运行命令
npm run generate stub--configuration=dev

这段代码没有经过测试,只是为了给你一个想法

成功