2016-03-24 5 views
0

Ich habe eine Ordnerstruktur wie folgtCompile-Dateien ursprünglichen Ort mit Babel

src 
├── a 
│   └── test-a.js 
└── b 
    └── test-b.js 

Ich möchte babel verwenden, um die Dateien von ./src zu kompilieren. Wenn ich den folgenden Befehl ausführe, kann ich es schaffen.

./node_modules/.bin/babel ./src/ -d ./dist/ 

Dies wird kompilierten Dateien erstellen, in ./dist Verzeichnis (den Baum zu bewahren). Ich muss jedoch Dateien kompilieren und im selben Verzeichnis behalten.

Zum Beispiel der Baum dann wie diese

src 
├── a 
│   └── test-a.js 
│   └── test-a.dist.js 
└── b 
    └── test-b.js 
    └── test-b.dist.js 

Gibt es eine Möglichkeit, das zu tun aussehen sollte?

+0

Dies bedeutet, dass alle 'require' Aufrufe wie' require ('../ a/test-a') 'in Ihren' .dist' Dateien in Ihrem Code auf die ursprüngliche Nicht-'dist' Datei zeigen, deshalb ist das ungewöhnlich. – loganfsmyth

Antwort

1

Ich weiß nicht, ob es eine integrierte Möglichkeit gibt, es mit der CLI zu tun (ich bezweifle es), aber Sie können es mit der API skripten. Tun Sie etwas wie glob in src/**/*.js, Schleife über die Pfadnamen Aufruf von require("babel-core").transform() auf jedem, dann eine Ersetzung auf den Pfadnamen wie replace(/\.js$/, ".dist.js") und schreibe auf den neuen Pfadnamen. Es gibt wahrscheinlich auch eine Möglichkeit, Shell-Skript es in dist/ mit der CLI zu transformieren, wie Sie jetzt tun, dann umbenennen & verschieben Sie diese Dateien in src/.