2015-04-03 6 views

ответ

9

Вы, скорее всего, не выполняете код в среде, поддерживающей модули CommonJS. Вы можете использовать комплект, такой как Browserify или webpack , чтобы объединить ваши модули во что-то, что можно запускать в разных средах.

Или вы можете выбрать другой module transformer.


С WebPack

Run 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

ой я думал Я мог бы просто запустить вывод babel в браузере – SuperUberDuper

+0

, поэтому я просто загружаю webpack в npm и использую этот скрипт? – SuperUberDuper

+0

Я рекомендую прочитать документацию по webpack. Также см. Https://babeljs.io/docs/using-babel/#webpack в этом случае. –

2

Я прочитал статью о том, как импорт и экспорт ES6 должен работать только в браузере с «статически анализируемыми файлами», и Babel удалил поддержку импорта и экспорта в браузере из-за этого. Что-то связано с асинхронностью или, возможно, безопасностью?

Если вы хотите, чтобы пропустить на стороне сервера пакетирования для целей Дев, вы можете поместить

window.MyModule = MyModule в нижней части, а затем импортировать

var MyModule = window.MyModule в верхней части вашего следующего файла