• ES6中模块加载出现的问题


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

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

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

    
    
    <script type="module" src="src/importDemo.js"></script>
    //export.js里面的代码,export.js文件无需在html中引入
    let a = 123;
    export {a};
    
    //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建立一个本地服务器的方式,是可以执行的,但是此时有些代码在谷歌浏览器中显示跟在火狐浏览器显示的不太一样,甚至会出现谷歌浏览器不支持某些语句的情况。

    使用webpack让浏览器支持import的方法:

    (1)安装webpack:npm install webpack -g (2)编译:webpack ./src/moudle.js  ./dist/module.js  (3)改写html,使得连接dist文件夹上的脚本文件

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

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

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

  • 相关阅读:
    20190425 发现了一家不错的咖啡店---半生咖啡
    20190425 这个。。。
    20190425 看数据统计和数据挖掘让我写了一篇杂文
    20190424 数据仓库 维度建模(一)
    20190423 PowerDesigner 数据库模型快速建立
    Xshell安装后,使用的优化
    Linux系统安装和网络配置
    Linux发展史-简简简易版
    服务器硬件
    git 常用命令
  • 原文地址:https://www.cnblogs.com/wenxuehai/p/10372416.html
Copyright © 2020-2023  润新知