2015-04-03 39 views

回答

9

您很可能不會在支持CommonJS模塊的環境中執行代碼。您可以使用捆綁器(如Browserifywebpack )將您的模塊捆綁到可以在不同環境中運行的某些內容。您可以選擇不同的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

+0

哦,我還以爲導入

var MyModule = window.MyModule我可以在瀏覽器 – SuperUberDuper 2015-04-03 15:36:58

+0

中運行babel輸出,因此我只需在npm下載webpack並使用該腳本? – SuperUberDuper 2015-04-03 15:38:05

+0

我建議閱讀webpack文檔:)在這種情況下也請參閱https://babeljs.io/docs/using-babel/#webpack。 – 2015-04-03 16:18:39

2

我讀過一篇關於ES6導入和導出只能在瀏覽器中使用「靜態可分析文件」的文章,因此Babel在瀏覽器中刪除了導入和導出支持。與異步或可能安全有關?

如果你想跳過服務器端捆綁dev的目的,你可以把

window.MyModule = MyModule在底部,然後在你的下一個文件的頂部

相關問題