【问题标题】:Perfect way to use variables in package.json [closed]在 package.json 中使用变量的完美方法 [关闭]
【发布时间】:2021-02-22 18:58:24
【问题描述】:

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

export const environment = {
    production: false,
    basePath: 'http://localhost:8001'
  };

我想在package.jsonscripts 下重用这些信息

"scripts": {
  "generate-stub": "openapi-generator generate -g typescript-angular $basePath"

这样我就可以npm run generate-stub --configuration=dev

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

有什么办法吗?

谢谢!

【问题讨论】:

    标签: node.js angular npm npm-scripts


    【解决方案1】:

    我认为您可以从 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运行命令

    此代码未经测试,仅供参考!

    成功!

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      相关资源
      最近更新 更多