如何将自定义脚本添加到运行javascript文件的package.json文件中?

我希望能够script1在将要运行的项目目录中执行命令node script1.js

script1.js是同一目录中的文件。该命令必须特定于项目目录,这意味着如果我将项目文件夹发送给其他人,他们将能够运行相同的命令。

到目前为止,我尝试添加:

"scripts": {
    "script1": "node script1.js"
}

到我的package.json文件,但是当我尝试运行时script1,得到以下输出:

zsh: command not found: script1

有谁知道将上述脚本添加到项目文件夹所需的步骤?

*注意:该命令不能添加到bash配置文件中(不能是计算机专用命令)

如果您需要任何澄清,请告诉我。

Harry逆天2020/03/26 16:53:45

自定义脚本

npm run-script <custom_script_name>

要么

npm run <custom_script_name>

在您的示例中,您将要运行npm run-script script1npm run script1

参见https://docs.npmjs.com/cli/run-script

生命周期脚本

Node还允许您针对某些生命周期事件运行自定义脚本,例如npm install运行后。这些可以在这里找到

例如:

"scripts": {
    "postinstall": "electron-rebuild",
},

这将electron-rebuildnpm install命令运行

番长樱梅2020/03/26 16:53:45

假设您要在脚本中使用一条命令运行2条命令:

"scripts":{
  "start":"any command",
  "singleCommandToRunTwoCommand":"some command here && npm start"
}

现在转到您的终端并在那里运行npm run singleCommandToRunTwoCommand

小卤蛋2020/03/26 16:53:45

例:

  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod",
    "build_c": "ng build --prod && del \"../../server/front-end/*.*\" /s /q & xcopy /s dist \"../../server/front-end\"",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

如您所见,脚本“ build_c”正在构建角度应用程序,然后从目录中删除所有旧文件,然后最终复制结果构建文件。

蛋蛋2020/03/26 16:53:45

步骤如下:

  1. 在package.json中添加:

    "bin":{
        "script1": "bin/script1.js" 
    }
    
  2. bin在项目目录中创建一个文件夹,并runScript1.js使用以下代码添加文件

    #! /usr/bin/env node
    var shell = require("shelljs");
    shell.exec("node step1script.js");
    
  3. npm install shelljs在终端中运行

  4. npm link在终端中运行

  5. 现在可以从终端运行script1它将运行node script1.js

参考:http : //blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool-with-npm