wake-up-neo.com

Wie füge ich meiner package.json-Datei, die eine Javascript-Datei ausführt, ein benutzerdefiniertes Skript hinzu?

Ich möchte in der Lage sein, den Befehl script1 in einem Projektverzeichnis auszuführen, in dem node script1.js ausgeführt wird.

script1.js ist eine Datei im selben Verzeichnis. Der Befehl muss spezifisch für das Projektverzeichnis sein. Wenn ich also den Projektordner an eine andere Person sende, kann er denselben Befehl ausführen. 

Bisher habe ich versucht, Folgendes hinzuzufügen:

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

in meine package.json-Datei, aber wenn ich versuche, script1 auszuführen, erhalte ich die folgende Ausgabe:

zsh: command not found: script1

Kennt jemand die erforderlichen Schritte, um das oben erwähnte Skript zum Projektordner hinzuzufügen?

* Hinweis: Der Befehl kann nicht zum Bash-Profil hinzugefügt werden (kann kein maschinenspezifischer Befehl sein)

Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. 

90
Jake.JS

Benutzerdefinierte Skripte

npm run-script <custom_script_name>

oder

npm run <custom_script_name>

In Ihrem Beispiel möchten Sie npm run-script script1 oder npm run script1 ausführen.

Siehe https://docs.npmjs.com/cli/run-script

Lebenszyklus-Skripte

Mit Node können Sie auch benutzerdefinierte Skripts für bestimmte Lebenszyklusereignisse ausführen, beispielsweise nachdem npm install ausgeführt wurde. Diese finden Sie hier

Zum Beispiel: 

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

Dies würde electron-rebuild nach einem npm install-Befehl ausführen.

149
wesleysmyth

Ich habe folgendes erstellt und es funktioniert auf meinem System. Bitte versuchen Sie das:

package.json:

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

script1.js:

console.log('testing')

Führen Sie in Ihrer Befehlszeile den folgenden Befehl aus:

npm start

Zusätzlicher Anwendungsfall  

Meine package.json-Datei enthält im Allgemeinen die folgenden Skripts, die es mir ermöglichen, meine Dateien auf TypeScript, Sass-Compilations und den Betrieb eines Servers zu überprüfen.

 "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" 
  }
13
Sujeet Jaiswal

Schritte sind unten:

  1. In package.json fügen Sie hinzu:

    "bin":{
        "script1": "bin/script1.js" 
    }
    
  2. Erstellen Sie einen bin-Ordner im Projektverzeichnis und fügen Sie die Datei runScript1.js mit dem Code hinzu:

    #! /usr/bin/env node
    var Shell = require("shelljs");
    Shell.exec("node step1script.js");
    
  3. Führen Sie npm install shelljs im Terminal aus

  4. Führen Sie npm link im Terminal aus

  5. Vom Terminal aus können Sie jetzt script1 ausführen und node script1.js ausführen.

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

8
Jake.JS

Beispiel:

  "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"
  },

Wie Sie sehen, erstellt das Skript "build_c" die Winkelanwendung, löscht dann alle alten Dateien aus einem Verzeichnis und kopiert anschließend die Ergebniserstellungsdateien.

0
FindOutIslamNow