ES6中模块加载出现的问题

Posted wenxuehai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6中模块加载出现的问题相关的知识,希望对你有一定的参考价值。

1、如何在浏览器中import模块

在使用模块加载时不同浏览器有不同的行为

使用 import 加载模块时,需要把script标签的type属性改为module。此时Firefox浏览器支持import,但Chrome浏览器仍然不支持。

//export.js里面的代码,export.js文件无需在html中引入
let a = 123;
export {a};

<script type="module" src="src/importDemo.js"></script>
//下面是importDemo.js里面的代码
import {a} from ‘./22Module.js‘
console.log(‘module‘,a);

//或者内联script代码也可以
<script type="module">
    import {a} from ‘./src/22Module.js‘
    console.log(a);
</script>

Chrome浏览器要想支持import,要放在服务器里使用,或者使用webpack+babel。我只尝试了使用phpstudy建立一个本地服务器的方式,是可以执行的。

 1.1、import模块时需不需要后缀

浏览器在解析 import 语句时是需要后缀的,更确切地说,浏览器认 import 后面这个字符串为一个 URL 地址。所以原生解析JS时在 import 模块时必须要使用后缀。注意路径也需要,如果是相同目录下也要加上 ./ 才行。

在使用打包工具比如webpack时, import 后面到底要不要后缀,全凭工具自己定义规则。

以上是关于ES6中模块加载出现的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于代码分割

ES6 模块串联

ES6特性之模块Modules

ES6模块的import和export用法

ES6模块的import和export用法总结

ES6模块的import和export用法总结