Использование полного URL в динамическом импорте () - PullRequest
0 голосов
/ 30 апреля 2018

Можно ли использовать полный URL-адрес в динамическом операторе import() в ES6 / Typescript?

import('https://foo.com/mymodule.js').then(() => {
    console.log('mymodule is loaded');
});

Я получаю ошибку

//Cannot find module 'https://foo.com/mymodule.js'.

С Webpack и Typescript мы уже успешно используем относительный путь с динамическим импортом

import(/* webpackChunkName: "mymodule" */ '../mymodule');

так что кажется, что Webpack уже выполняет загрузку модуля во время выполнения.

1 Ответ

0 голосов
/ 30 апреля 2018

ES-модули не поддерживают URL-адреса ни в статических import, ни в динамических import().

Возможна обработка HTTP-транспорта в Webpack через сторонний плагин .

Загрузка скрипта может выполняться SystemJS:

System.config({
  paths: {
    'mymodule': 'https://foo.com/mymodule.js'
  }
});

System.import('mymodule')
.then(mymodule => {
  ...
})
.catch(error => console.error(error));

Или:

System.import('https://foo.com/mymodule.js')
.then(mymodule => {
  ...
})
.catch(error => console.error(error));

SystemJS также предоставляет возможности для обработки загруженных скриптов, когда это необходимо, например, способ, которым модули должны обрабатываться в этих сценариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...