Использование модуля ES6 с RequireJS

#javascript #ecmascript-6 #requirejs

#javascript #ecmascript-6 #requirejs

Вопрос:

У меня есть подобный код, который мне нужно поместить в устаревший проект, использующий RequireJS. Я пытался использовать Babel, но на самом деле мне не нужен весь класс, перенесенный в ES5, мне просто нужно, чтобы он был в стиле AMD RequireJS.

Есть ли рекомендуемый инструмент для преобразования подобных модулей ES6 или я должен просто переписать их вручную? Я не знаю, как переписать следующее для RequireJS.

 import CanvasTile from './maputil.js';
export default class MapView {
    constructor(opts) {
        //create map
    }
    async getImage(sceneId, url, hasOvr = true) {} 
}
  

.babelrc, который я пробовал, был

 {
  "presets": ["es2015"],
  "plugins": ["transform-es2015-modules-amd"]
}
  

Комментарии:

1. … почему? Не забывайте, что, несмотря на все пакеты, вы все еще просто создаете веб-страницу , поэтому просто импортируйте модуль самостоятельно с обычным <script src="./js/maputil.js" type="module" async></script> тегом, вместо того, чтобы вставлять его в свой пакет, а затем получать к нему доступ через window ?

Ответ №1:

В итоге я использовал https://babeljs.io/repl с помощью плагина «babel-plugin-transform-modules-requirejs v0.1.4», чтобы помочь выяснить, как заставить вышеуказанное работать в RequireJS.