• JS模块化


    定义方式很简单:记住导出语法 export {},如果需要导出多个变量名字,用逗号隔开即可 

    1. let obj = {
    2. name: "obj",
    3. age: 20,
    4. introduce() {
    5. console.log("my name is " + this.name + ",age" + this.age )
    6. }
    7. }
    8. export { obj };

    进入正题:

    现有a.js

    1. let myname = "zhangsan";
    2. let fruit = "苹果"
    3. export {myname, fruit};

    那么我们如何在b.js里引入呢?编写的时候没有顺序,只要把名字写对即可

    import {fruit, myname} from "./a";

    其实ES6模块化语法很简单,就是用export导出,用import引入,但是有个问题不知道你们发现没有,就是要清楚的知道js里面是什么变量名字,比如这里的fruitmyname那么显然这样不是很友好的,有没有更好的方式呢?别急,它来了,它来了,它真的来了!!

    import * as ma from './a.js';

    通过这样的语法,我把a模块所有的语法一次性导入进来,并且通过as的方式给起了别名,叫做ma,这里的ma里面有我们写在a.js里面的2个变量,是不是快很多了?不过,这依然不是完美的方案,下面讲讲default

    先看代码,定义了一个c1.js

    1. function fn1() {
    2. console.log(fn1)
    3. }
    4. function fn2() {
    5. console.log(fn2)
    6. }
    7. function fn3() {
    8. console.log(fn3)
    9. }
    10. export default { fn1, fn2, fn3 }

    那么我们在其他js里面引用的时候,就可以随便写名字了

    import suibian from './c1.js'

    那么,我们来测试下,记住用谷歌浏览器哦~~~~~~,首先要把text/javascript改成module

    那有什么办法,让大多数浏览器都能识别模块化代码呢?那就需要webpack来帮忙

    1.webpack作用:

    2.会从第一个文件找,如果里面再引入其他文件,一直找,最后打包成main.js

    3.这个过程就叫做编译,编译的过程中,webpack会把所有的模块化代码去除,转换成es5的代码,让浏览器认识。

    最后要记得,webpack处理不同的文件,就需要不同的loader来处理 

     

     

  • 相关阅读:
    Hash表实现原理
    B树的插入和删除
    UNIX环境高级编程 第2章 UNIX标准化及实现
    STM32F103ZET6【HAL开发】STM32CUBEMX------3.3测量PWM的频率和占空比
    css面试题及答案 【集合目录】
    CXL.cache 协议详解
    记一次go应用在k8s pod已用内存告警不准确分析
    git-secret:在 Git 存储库中加密和存储密钥(下)
    如何保证 HTTPS 证书的有效性?
    2023-09-18力扣每日一题-中等题吗
  • 原文地址:https://blog.csdn.net/qq_32963841/article/details/126003142