當此代碼(從通天塔產生的)運行我得到一個錯誤exports is undefined
巴貝爾生成的代碼會導致錯誤的出口是未定義
Object.defineProperty(exports, '__esModule', {
什麼想法?
當此代碼(從通天塔產生的)運行我得到一個錯誤exports is undefined
巴貝爾生成的代碼會導致錯誤的出口是未定義
Object.defineProperty(exports, '__esModule', {
什麼想法?
您很可能不會在支持CommonJS模塊的環境中執行代碼。您可以使用捆綁器(如Browserify或webpack )將您的模塊捆綁到可以在不同環境中運行的某些內容。您可以選擇不同的module transformer。
用的WebPack
運行npm install -g webpack; npm install -D babel-loader
。然後用這個的WebPack配置:
// webpack.config.js
module.exports = {
entry: "./path/to/entry/module.js",
output: {
path: __dirname,
filename: "bundle.js"
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"}
]
}
};
運行webpack
命令將轉換所有*.js
文件通過與巴別塔的入口文件訪問,並捆綁在一起,併爲bundle.js
。
我讀過一篇關於ES6導入和導出只能在瀏覽器中使用「靜態可分析文件」的文章,因此Babel在瀏覽器中刪除了導入和導出支持。與異步或可能安全有關?
如果你想跳過服務器端捆綁dev的目的,你可以把
window.MyModule = MyModule
在底部,然後在你的下一個文件的頂部
哦,我還以爲導入
var MyModule = window.MyModule
我可以在瀏覽器 – SuperUberDuper 2015-04-03 15:36:58中運行babel輸出,因此我只需在npm下載webpack並使用該腳本? – SuperUberDuper 2015-04-03 15:38:05
我建議閱讀webpack文檔:)在這種情況下也請參閱https://babeljs.io/docs/using-babel/#webpack。 – 2015-04-03 16:18:39