Можно ли импортировать javascript-модуль из внешнего url в ES6?
Я пробовал (используя babel- node):
import mymodule from 'http://...mysite.../myscript.js';
// Error: Cannot find module 'http://...mysite.../myscript.js'
Можно ли импортировать javascript-модуль из внешнего url в ES6?
Я пробовал (используя babel- node):
import mymodule from 'http://...mysite.../myscript.js';
// Error: Cannot find module 'http://...mysite.../myscript.js'
Спецификация загрузчика модуля и синтаксис импорта/экспорта являются отдельными. Таким образом, это свойство загрузчика модуля (не входит в спецификацию ES). Если вы используете загрузчик модулей, который поддерживает плагины, такие как SystemJS.
На данный момент нет.
Существуют два разных спецификатора: ES6 определяет sintax для экспорта/импорта. И есть Loader Spec, который фактически определяет , как загружаются эти модули.
Говорите в сторону, важная часть для нас разработчиков:
JavaScript-загрузчик позволяет средам хоста, таким как Node.js и браузерам, получать и загружать модули по требованию. Он обеспечивает доступный конвейер, чтобы позволить интерфейсные решения для упаковки, такие как Browserify, WebPack и jspm, подключаться к процессу загрузки.
Это разделение обеспечивает единый формат, который разработчики могут использовать во всех средах JavaScript, и отдельный механизм загрузки для каждой среды. Например, Node Loader будет загружать свои модули из файловой системы, используя собственный алгоритм поиска модуля, в то время как загрузчик браузера будет извлекать модули и использовать форматы упаковок, поставляемые в браузере.
(...)
Основная цель состоит в том, чтобы максимально согласовать этот процесс между средами Node и Browser. Например, если программа JavaScript хочет перевести файлы
.coffee
на JavaScript на лету, Loader определяет "переводить" крюк, который можно использовать. Это позволяет программам участвовать в процессе загрузки, хотя некоторые детали (в частности, процесс получения определенного модуля из его хранилища, определенного хостом) будут отличаться между средами.
Таким образом, мы зависим от среды хоста (node, браузера, babel и т.д.), чтобы разрешать/загружать модули для нас и предоставлять перехваты для процесса.
Вы также можете использовать scriptjs, который в моем случае требует меньше конфигураций.
var scriptjs = require('scriptjs');
scriptjs('https://api.mapbox.com/mapbox.js/v3.0.1/mapbox.standalone.js', function() {
L.mapbox.accessToken = 'MyToken';
});