Я использую ES6 modules, переведенный в ES5 с traceur.
Transpilation осуществляются через хрюкать + grunt-traceurJavaScript Модули ES6 + трассировка
Traceur позволяет выбрать, какой модуль обработчик использовать: свой собственный, AMD, CommonJS или инлайн.
Я пробовал большинство из них, но никто, кажется, не работает. Зачем?
TestClass.js
export default class TestClass {
constructor() {
alert('test');
}
}
Main.js
import TestClass from './TestClass';
var test = new TestClass();
Gruntfile.js (экстракт)
traceur: {
options: {
experimental: true,
blockBinding: true,
modules: 'amd'
}
}
index.html (экстракт)
<script src="js/vendor/traceur-runtime.js"></script>
<script src="js/vendor/require.js"></script>
<script defer async src="js/compiled/Main.js"></script>
Ошибка дал
Uncaught Error: Mismatched anonymous define() module: function ($__0) {
кажется, что there are issues с хрюкать плагин, но даже использует старую версию, кажется, не поможет.
Код был изменен с an article.
Вы также можете взглянуть на [6to5] (http://6to5.github.io/). Он очень прост в использовании [module formatters] (http://6to5.github.io/modules.html) в нескольких разных форматах, которые хорошо сочетаются с другими инструментами. –