ソースコードはES6で書かれており、バベルとのWebPACKを使用して、ES5するtranspiledさからのインポートに空のオブジェクトを取得し、それは次のようになります。transpiled ES6コード
のsrc/2.js
export default {
...
}
のsrc/1.js
import 2 from './2.js'
export default {
...
}
1.js
WebPACKのためのメインエントリスクリプトです。ここでのWebPACKの設定があります:
var webpack = require('webpack');
var path = require('path');
module.exports = {
'entry': './src/1.js',
'module': {
'loaders': [{
'test': /\.js$/,
'exclude': /node_modules/,
'loader': 'react-hot-loader/webpack'
}, {
'test': /\.js$/,
'exclude': /node_modules/,
'loader': 'babel-loader'
}]
},
'output': {
'path': path.resolve(__dirname, './dist'),
'publicPath': '/',
'filename': 'index.js'
}
}
ES5 transpiledファイルindex.js
は、その後NPMモジュールとして公開され、 'example_module' を言います。
は今、私は別のアプリで:モジュールをインポートしようとしたとき
import exampleModule from `example-module`;
console.log(exampleModule) // <-- empty object
私は空のオブジェクトを取得します。
翻訳されたファイルは、ネイティブのES5環境のスクリプトタグ内で使用され、ES6コードではインポートできないことを理解しているようです。
質問は、モジュールをES5環境とES6環境の両方で使用できるようにビルドプロセスを調整するにはどうすればよいですか。
あなたは実際にあなたの輸入品に「2」という名前を付けようとしていますか? – 1252748
@ 1252748それは単なる例です –
@MichaelJungoええ、それは感謝のように見えます! –