我对使用一堆JS库感兴趣,而不必依赖于基于npm的工具和其他捆绑步骤。
借助浏览器中的ES6模块支持,我可以使用以下模块:
<script type="module">
import Vue from 'https://unpkg.com/vue@2.6.0/dist/vue.esm.browser.min.js';
new Vue({...});
</script>
当所需的模块没有任何传递依赖项时,这很好。但是通常,来自转译的ES6之前版本的模块都是这样做的:
import Vue from 'vue'
在当今的浏览器中似乎不起作用。我缺少某种将模块说明符与某个URL关联的选项,比如说作为<script>标签的属性。
一个务实的解决方案是回到使用UMD构建的模块,这些模块安装在全局名称空间中,并允许我在主HTML文件中明确列出所有依赖项。
但是我对概念故事很感兴趣。捆绑工具告诉我们,将来在获得本机支持时它们将被淘汰,但是到目前为止,浏览器支持已经毫无用处,因为生态系统可能不会始终如一地转向通过相对路径导入模块。
相关分类