2016-07-31 24 views
1

Ich benutze npm ausführen, um eine JavaScript-Datei durch browserify zu erstellen. Vor dem Erstellen möchte ich ein Verzeichnis in meinem Build-Ordner erstellen, das nach der in package.json aufgeführten Version benannt ist. Hier ist ein getrimmten Beispiel meiner package.json:Verwenden Sie eine Variable package.json in Npm-Skript

{ 
    "name": "My App", 
    "version": "0.0.0-pre-alpha", 
    "description": "App desc", 
    "main": "index.js", 
    "dependencies": { 
    "browserify" : "*", 
    } 
    "scripts": { 
    "prebuild": "mkdir -p build/$npm_package_version", 
    "browserify" : "browserify ./src/index.js ./build/$npm_package_version/js/myapp-$npm_package_version.js", 
    "build" : "npm run prebuild && npm run browserify" 
    } 
} 

Der Code in vorkompilierte ausgeführt ist:

mkdir -p build/$npm_package_version 

Aber ich will es

mkdir -p build/0.0.0-pre-alpha 

Was auszuführen mache ich falsch ?

Antwort

2

Update: Es stellt sich heraus, dass Sie Argumente mit Mkdir in einem Skript nicht verwenden können. So endete ich mit der mkdirp npm module.

Alte Post:

Für andere Suche nach einer Antwort: Es stellte sich heraus, wenn Sie in Windows die richtige Art und Weise arbeiten, ist die Variablen zu verwenden

%npm_package_version% 

wie So sollte der endgültige Code aussehen :

"prebuild": "mkdir -p build/%npm_package_version%" 
+0

Hey, wissen, es ist eine Weile her, aber ich habe dies auf meiner Windows-Maschine versucht und beide Lösungen haben nicht funktioniert. Weißt du was falsch ist? – aaronmcavinue

+0

Es funktionierte mit dem mkdirp Modul für mich. Hier ist der Arbeitscode: "mkdirp build /% npm_package_version%/js" – LongInt