2016-02-05 10 views
5

私はES2015で書き込み中でBabel 6で翻訳しているnpmパッケージを持っています.ES2015ソースコードは/srcにあり、/src/core,/src/commandsなどのモジュールに分割されています。これはCLIツールであるため、エントリポイントは/src/bin/app.jsです。 babel-node src/bin/app.jsを実行すると、期待どおりに動作します。Babelコンパイル済みのJSが相対パスのインポートに失敗する

理想的には、このツールをグローバルに(grunt-cliのように)インストールしたいので、パッケージ全体をbabel src -o /lib/app.jsという単一の有効なJS(ES5)ファイルに置き換えます。しかし、ファイルを実行しようとすると、相対パスからモジュールを要求しようとするとエラーが発生し、それらがすべてに融合されているため、これらのモジュールを見つけることができません。エラーは次のとおりです。

{ 
    "presets": ["es2015"] 
} 

万一この作品、または私はいくつかのより多くのバベルを設定する必要があります:

$ node_modules/babel-cli/bin/babel-node.js lib/app 
module.js:328 
    throw err; 
    ^

Error: Cannot find module '../commands/index' 
    at Function.Module._resolveFilename (module.js:326:15) 
    at Function.Module._load (module.js:277:25) 
    at Module.require (module.js:354:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (/usr/local/lib/node_modules/app/lib/app.js:19:14) 
    at Module._compile (module.js:398:26) 
    at Module._extensions..js (module.js:405:10) 
    at Object.require.extensions.(anonymous function) [as .js] (/Users/me/dev/app/node_modules/babel-register/lib/node.js:138:7) 
    at Module.load (module.js:344:32) 
    at Function.Module._load (module.js:301:12) 

.babelrcは単純ですか?バックアップ計画は、/srcフォルダ全体を/libに単純に移植してすべてを公開することですが、1つのファイルでより良いファイルを作成できます。

+0

[この質問の重複](https://stackoverflow.com/questions/33963999/using-babel-with-a-single-output-file-and-es6-modules)参照回答[ここ](https ://stackoverflow.com/questions/31873235/gulp-concat-and-require-path/33280669#33280669)。 – orlade

答えて

関連する問題