2016-11-05 5 views
0

Ich habe TypScript global installiert und wenn ich tsc -v tue, druckt es Version 2.0.3. Ich habe auch TypScript als eine Abhängigkeit von meinem Projekt, so dass der Compiler auch als MyProject/node_modules/.bin/tsc verfügbar ist, die Version ist.TSC: Version von Knotenmodule verwenden

Ist es möglich, global tsc für die Verwendung der lokalen Version zu konfigurieren, wenn in einem Projekt mit node_modules? Die globale tsc würde im Grunde nur ein Launcher der lokalen tsc werden.

+1

Warum nicht einen Befehl zu 'package.json' hinzufügen, um die lokale ausführbare Datei aufzurufen? – jonrsharpe

+0

Das ist eine mögliche Lösung, wenn alle Entwickler im Projekt 'npm run tsc' statt' tsc' ausführen, ja. Ist es möglich, das zu erreichen, was die Frage verlangt? – Borek

+0

Soweit ich weiß, nein. 'tsc' ruft die globale ausführbare Datei auf. Es weiß nichts über * "wenn in einem Projekt, das' node_modules' hat *. – jonrsharpe

Antwort

0

Ich mache es mit Grunt-Exec, aber das Muster könnte eine Vielzahl von Möglichkeiten. Dieser cwd geht runter zum lib dir und führt den Befehl dort aus.

Das ist meine grunt-exec-Aufgabe, obwohl ich versuche, es mit besser-npm-run jetzt zu tun.

"ts-dev": {CWD: 'node_modules/Maschinenschrift/lib', KMD: "node tsc -p ../../../../../ Pretty-"

}

Hier ist, wie ich es in besser-npm-run gemacht habe, siehe die Aufgabe dev-compile.

 "scripts": { 
    "build:dist": "better-npm-run build:dist", 
    "build:prod": "better-npm-run build:prod", 
    "dev-start": "bnr dev:start", 
    "dev-compile": "bnr dev:compile" 
    }, 
    "betterScripts": { 
    "dev:start": "node ./serve https://opm-int.nane.netapp.com 9000", 
    "dev:compile": "node ./node_modules/typescript/lib/tsc -p ../../../../../ -pretty" 
    }, 
+0

Aber das erlaubt dir eigentlich nicht einfach 'tsc' zu starten, vermutlich musst du einen anderen grunt Befehl ausführen. – jonrsharpe

+0

Ich zeige, wie ich es mit better-npm-Skripten gemacht habe. Es verwendet einfach den Knoten, um die Datei tsc.js auszuführen, die den Befehl -p zurück an den übergeordneten Speicherort von tsconfig.json übergibt. – httpete

+0

Sie können dann einfach "TSC" in diesem Verzeichnis ausführen? – jonrsharpe

Verwandte Themen