web-dev-qa-db-ja.com

JavaScriptファイルを実行するpackage.jsonファイルにカスタムスクリプトを追加する方法を教えてください。

script1を実行するプロジェクトディレクトリでnode script1.jsコマンドを実行できるようにしたいです。

script1.jsは同じディレクトリ内のファイルです。このコマンドはプロジェクトディレクトリに固有のものである必要があります。つまり、他の人にプロジェクトフォルダを送信しても、同じコマンドを実行できます。

これまでに追加してみました:

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

私のpackage.jsonファイルに私はscript1を実行しようとすると私は次のような出力を得ます:

zsh: command not found: script1

上記のスクリプトをプロジェクトフォルダに追加するために必要な手順を知っている人はいますか?

*注:コマンドをbashプロファイルに追加することはできません(マシン固有のコマンドにすることはできません)

説明が必要な場合はお知らせください。

106
Jake.JS

カスタムスクリプト

npm run-script <custom_script_name>

または

npm run <custom_script_name>

あなたの例では、npm run-script script1またはnpm run script1を実行したいでしょう。

https://docs.npmjs.com/cli/run-script を参照してください。

ライフサイクルスクリプト

Nodeでは、npm installが実行された後など、特定のライフサイクルイベントに対してカスタムスクリプトを実行することもできます。これらはここにあります。

例えば:

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

これはelectron-rebuildコマンドの後にnpm installを実行します。

173
wesleysmyth

私は次のものを作成しました、そしてそれは私のシステムで働いています。これを試してください。

package.json:

{
  "name": "test app",
  "version": "1.0.0",
  "scripts": {
    "start": "node script1.js"   
  }
}

script1.js:

console.log('testing')

コマンドラインから次のコマンドを実行します。

npm start

追加のユースケース

私のpackage.jsonファイルには一般的に以下のスクリプトがあり、TypeScript、sass compilation、そしてサーバーの実行のために私のファイルを見ることができます。

 "scripts": {
    "start": "concurrently \"sass --watch ./style/sass:./style/css\" \"npm run tsc:w\" \"npm run lite\" ",    
    "tsc": "tsc",
    "tsc:w": "tsc -w", 
    "lite": "lite-server",
    "typings": "typings",
    "postinstall": "typings install" 
  }
16
Sujeet Jaiswal

手順は以下のとおりです。

  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

10
Jake.JS

例:

  "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"はAngularアプリケーションを構築し、次にディレクトリからすべての古いファイルを削除し、最後に結果のビルドファイルをコピーします。

0
FindOutIslamNow