Hoe voeg ik een aangepast script toe aan mijn package.json-bestand dat een javascript-bestand uitvoert?

Ik wil de opdracht script1kunnen uitvoeren in een projectdirectory die node script1.jszal uitvoeren.

script1.jsis een bestand in dezelfde map. De opdracht moet specifiek zijn voor de projectmap, wat betekent dat als ik iemand anders de projectmap stuur, ze dezelfde opdracht kunnen uitvoeren.

Tot nu toe heb ik geprobeerd het volgende toe te voegen:

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

naar mijn package.json-bestand, maar wanneer ik script1probeer uit te voeren, krijg ik de volgende uitvoer:

zsh: command not found: script1

Weet iemand de stappen die nodig zijn om het hierboven genoemde script aan de projectmap toe te voegen?

*Opmerking: de opdracht kan niet worden toegevoegd aan het bash-profiel (kan geen machinespecifieke opdracht zijn)

Laat het me weten als je opheldering nodig hebt.


Antwoord 1, autoriteit 100%

Aangepaste scripts

npm run-script <custom_script_name>

of

npm run <custom_script_name>

uit

In uw voorbeeld zou u npm run-script script1of npm run script1willen uitvoeren.

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

Levenscyclusscripts

Node stelt je ook in staat om aangepaste scripts uit te voeren voor bepaalde levenscyclusgebeurtenissen, zoals nadat npm installis uitgevoerd. Deze zijn hierte vinden.

Bijvoorbeeld:

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

Hiermee zou electron-rebuildworden uitgevoerd na een npm install-opdracht.


Antwoord 2, autoriteit 10%

Ik heb het volgende gemaakt en het werkt op mijn systeem. Probeer dit alstublieft:

pakket.json:

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

script1.js:

console.log('testing')

Voer vanaf uw opdrachtregel de volgende opdracht uit:

npm start

Extra gebruiksvoorbeeld

Mijn package.json-bestand heeft over het algemeen de volgende scripts, waardoor ik mijn bestanden kan controleren op typscript, sass-compilaties en het uitvoeren van een server.

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

Antwoord 3, autoriteit 9%

De stappen staan ​​hieronder:

  1. Voeg in package.json toe:

    "bin":{
        "script1": "bin/script1.js" 
    }
    
  2. Maak een bin-map in de projectdirectory en voeg het bestand runScript1.jstoe met de code:

    #! /usr/bin/env node
    var shell = require("shelljs");
    shell.exec("node step1script.js");
    
  3. Voer npm install shelljsuit in terminal

  4. Voer npm linkuit in terminal

  5. Vanaf terminal kunt u nu script1uitvoeren, waarmee node script1.js

  6. wordt uitgevoerd

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


Antwoord 4, autoriteit 2%

Laten we zeggen dat je in scripts 2 commando’s wilt uitvoeren met één commando:

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

Ga nu naar uw terminal en voer daar npm run singleCommandToRunTwoCommanduit.


Antwoord 5

Stel dat ik deze regel met scripts in mijn “package.json” heb

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "export_advertisements": "node export.js advertisements",
    "export_homedata": "node export.js homedata",
    "export_customdata": "node export.js customdata",
    "export_rooms": "node export.js rooms"
  },

Om nu het script “export_advertisements” uit te voeren, ga ik gewoon naar de terminal en typ

npm run export_advertisements

Je bent van harte welkom 😊😊


Antwoord 6

Uw script

"scripts": {
    "start": "node script1.js",
    "script2": "node script2.js"
}

Opdrachten

npm start
npm run script2

Antwoord 7

Voorbeeld:

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

Zoals je kunt zien, bouwt het script “build_c” de hoekige applicatie, verwijdert vervolgens alle oude bestanden uit een map en kopieert vervolgens de resultaat-buildbestanden.

Other episodes