是否可以从 ES6 中的外部 url 导入 javascript 模块?
我试过(使用 babel-node):
import mymodule from 'http://...mysite.../myscript.js';
// Error: Cannot find module 'http://...mysite.../myscript.js'
原文由 madox2 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以从 ES6 中的外部 url 导入 javascript 模块?
我试过(使用 babel-node):
import mymodule from 'http://...mysite.../myscript.js';
// Error: Cannot find module 'http://...mysite.../myscript.js'
原文由 madox2 发布,翻译遵循 CC BY-SA 4.0 许可协议
2022 年更新,目前看来它至少在最新的 Chrome、Firefox 和 Safari 中有效,只要服务器为 js 文件提供 content-type: application/javascript; charset=utf-8
的响应标头。
使用 vanilla web 服务器尝试这两个文件:
索引.html
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Hello World</title>
<script type="module" src="./hello.js"></script>
</head>
<body>
</body>
</html>
你好.js
import ip6 from 'https://cdn.jsdelivr.net/gh/elgs/ip6/ip6.js';
const el = document.createElement('h1');
const words = "::1";
const text = document.createTextNode(ip6.normalize(words));
el.appendChild(text);
document.body.appendChild(el);
这是一个巨大的交易!因为我们现在可以和 Webpack 说再见了。我现在有点太兴奋了!
原文由 Qian Chen 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
2018 年更新:模块加载器规范现在是 ES 规范的一部分 - 您所描述的内容是允许的并且可以使用
<script type="module">
在浏览器中和自定义--loader
与 Node.js 作为以及 Deno,如果你喜欢的话。模块加载器规范和导入/导出语法是分开的。所以这是模块加载器的一个属性(不是 ES 规范的一部分)。如果您使用支持 SystemJS 等插件的模块加载器。