Ich arbeite an einem Django-Projekt mit Django Pipline, um CSS- und JavaScript-Dateien beim Bereitstellen der statischen Dateien der Anwendung zu verarbeiten. Ich möchte Babel verwenden, um JSX Quelle zu JavaScript in diesem Prozess zu kompilieren. Dazu muss ich ein Pipeline-Plugin schreiben, das babel
aufruft und ihm die JSX-Datei übergibt.Vorgesehene Möglichkeit, Befehle als Abhängigkeiten auszuführen
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"dependencies": [
"[email protected]",
"[email protected]"
]
}
Als ich es alle notwendigen Abhängigkeiten in node_modules
wird installieren laufen npm install
:
Babel und ihre Abhängigkeiten zu installieren, ich habe eine minimale package.json
eingerichtet.
Das alles funktioniert gut, aber es gibt einen Teil, der mir entgeht. Ich habe keinen direkten Weg gefunden, das babel
Binary auszuführen. npm
installiert die Programme unter node_modules/.bin
, die auch von npm bin
zurückgegeben:
$ find node_modules -name babel
node_modules/.bin/babel
node_modules/babel-cli/lib/babel
$ npm bin
[...]/node_modules/.bin
Was ist der vorgesehene Art und Weise, um dann zum Beispiel Führen Sie die babel
binäre?
Sollte ich dieses Verzeichnis auf meinem $PATH
setzen? Gibt es ein Skript, das dem Skript activate
von virtualenv ähnlich ist? Soll ich stattdessen den Pfad in meinem Projekt fest codieren?
Ich bin sicher, dass die Autoren von npm an diesen Anwendungsfall gedacht haben. Sonst würden Projekte wie Babel in einer Grauzone von beabsichtigten Nutzungen von npm leben.