Plattformübergreifendes NPM-Startskript

8

Ich entwickle eine Electron-App, die von Leuten unter Windows und OS X entwickelt wird. Ich möchte ein plattformübergreifendes Startskript erstellen. Bisher hatte ich genau kein Glück, etwas zu bekommen, das funktioniert. Das Problem, denke ich, ist, dass ich die Umgebungsvariable NODE_ENV einstellen muss und die Syntax etwas anders ist.

Ich hoffe, es gibt einen Weg, den ich noch nicht gefunden habe. Mein aktueller Skriptabschnitt folgt:

%Vor%

Ich möchte wirklich ein einziges "Start" -Skript erstellen und die plattformspezifischen Varianten eliminieren. Ist es möglich?

    
Rob Wilkerson 06.10.2015, 13:35
quelle

1 Antwort

8

Umgebungsvariablen sind ein Problem in Windows.

Wie gesagt, Domenic Denicola (einer der Hauptverantwortlichen für npm):

  

Das ist nicht die Aufgabe von npm. Sie können benutzerdefinierte Knotenskripte ausführen, um Umgebungsvariablen mithilfe von process.env festzulegen, wenn Sie möchten, oder etwas verwenden, das keine Umgebungsvariablen (wie JSON) ist.

     

...

     

Sie können benutzerdefinierte Skripts schreiben, um die Einschränkungen von Connect zu umgehen, z. Ändere in deinen Tests process.env.

     

(Referenz: dieses Problem )

Wir werden also ein JS-Skript verwalten (die Lösung basiert auf diesem Commit ):

  1. Erstellen Sie eine exec.js -Datei in einem scripts -Verzeichnis

  2. Kopieren Sie den folgenden Code in exec.js :

%Vor%
  1. Aktualisieren Sie Ihre package.json :
%Vor%
  1. Führen Sie das npm-Skript aus: npm run start

Bearbeiten 05.04.2016

Es gibt ein sehr nützliches npm-Paket, das dieses Problem behebt: cross-env . Führen Sie Befehle aus, die Umgebungsvariablen plattformübergreifend festlegen

    
forresst 07.10.2015, 13:14
quelle

Tags und Links