【问题标题】:Detecting which npm script command was run检测运行了哪个 npm 脚本命令
【发布时间】:2022-03-17 07:48:56
【问题描述】:

我有一个可以使用以下脚本运行的 index.js 文件:

  "scripts": {
    "lint": "eslint .",
    "serve": "firebase emulators:start --only functions",
    "inspect": "firebase emulators:start --inspect-functions",
    "deploy": "firebase deploy --only functions",
  },

有什么方法可以检测到 index.js 文件中执行了哪个命令,以便正确初始化方法?

index.js

// if serve cmd
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: 'https://server.firebaseio.com'
});
//if deploy cmd
admin.initializeApp();

【问题讨论】:

    标签: javascript node.js npm npm-scripts


    【解决方案1】:

    NPM 在运行脚本时设置了几个环境变量,包括npm_lifecycle_event。这旨在确定它是在运行 pre 还是 post 脚本,但也可以用于您的目的:

    if (process.env.npm_lifecycle_event === "serve") {
      admin.initializeApp({
        credential: admin.credential.cert(serviceAccount),
        databaseURL: 'https://server.firebaseio.com'
      });
    } else {
      admin.initializeApp();
    }
    

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2023-01-17
      • 2019-10-12
      • 2014-09-22
      相关资源
      最近更新 更多