zoukankan      html  css  js  c++  java
  • JS语法之--模块化

    1、模块化

      

    2、ES6 模块化:(使用原生支持的,但是编译器不支持,网页也不支持,所以需要一个工具链,babel)

      import 语句,导入一个模块导出的绑定

      export语句,从模块中导出函数,对象,值的,供其他模块import导入用

      导出:

        建立一个模块目录src , 然后在这个目录下新建一个moda.js ,内容如下:

        

        

        导入

        index.js中导入语句如下:

        

        转译工具:

        转译 就是从一种语言代码转换到另一种语言代码,当然也可以从高版本到低版本的支持语句

        由于JS 存在不同版本,不同浏览器兼容的问题,使用 transplier 转译工具解决。

        babel (转译工具)ES2016,17,18都可以使用

        开发中可以使用较新的 ES6 语法,通过转译器转换为指定的某些版本代码

        官网:http://babeljs.io/

        参考文档 https:// babeljs.io/docs/en/6.26.3/index.html

        注意当前版本7.x 有了较大的闭环,参考6.x的文档

        预设

        有如下一些预设presets (ES2015 --ES 6)

        (需要记住 第一个 和 recat)

        

        

    3、离线转译安装配置

      1、初始化npm

        

      2、设置镜像

        .npmrc 文件

        可以放到npm 的目录下npmrc 文件中

        可以放到用户家目录中

        可以放到项目根目录下

        本次放到项目根目录中,内容如下:(也可以先创建文件,在写入)

        

      3、安装

        项目更目录下执行

        

          

        --save-dev 说明:

          当你为你的模块安装一个依赖模块时,正常情况下你得先安装它们(在模块根目录下 npm install module_name)

          然后连同版本号手动将他们添加到模块配置文件package.json 中的依赖(dependencies),开发用

        --save 和--save-dev 可以省略掉你手动修改package.json文件的步骤:

          npm install module_name --save 自动把模块和版本号添加到dependencies 部分

          npm install module_name 自动把模块和版本号添加到devdependencies 部分

          

      4、修改package.json    

        替换为 srcipts 部分       

        

        babel src -d lib 意思是从src 目录中 转译后的文件输出到 lib 目录

      5、准备目录

        项目根目录下创建 src 和 lib 目录

        src 是原码目录

        lib 是目标目录

      6、配置babel 和安装 依赖

        在根目录下创建 .babelrc  文件, Json格式

        

          env 可以根据当前环境自动选择。

          安装依赖:

              

      7、准备js 文件

        在src 中的moda.js

          

        在src 目录下index.js

          

          直接在VS Code 的环境下执行出错,所以需要转义为ES5 代码,在项目根目录下执行命令

          

          可以看到,2个文件被转译

          运行文件:

          

        使用babel 等转译器转译JS 非常流行

        开发者可以在高版本中使用新的语法特性,提高开发效率,把兼容性问题交个转译器处理

      8、导入导出

         说明:导出代码都在src/moda.js 中,导入代码都写在src/index.js 中

        缺省导入导出

          只允许一个缺省导出,缺省导出可以是变量,函数,类,但是不能 使用let ,var,const 关键字作为默认导出

        

        

         

           缺省导入的时候,可以自己重新命名,可以不需要和缺省导出的名称一致,但是最好一致

          缺省导入,不需要写在 import后 的 {  } 中 : import A, { foo } from "./moda"

          只能有一个 缺省导出

         命名导入导出

                

           结果:  

       

         也可以使用下面的方式 ,导入所有导出,但是会顶一个新的名词空间,使用名词空间可以避免冲突

        

      

    为什么要坚持,想一想当初!
  • 相关阅读:
    重温数据结构与算法(1) 构建自己的时间测试类
    读<<CLR via C#>>总结(11) 详谈事件
    读<<CLR via C#>>总结(13) 详谈泛型
    重温数据结构与算法(2) 编程中最常用,最通用的数据结构数组和ArrayList
    由String类的Split方法所遇到的两个问题
    读<<CLR via C#>>总结(6) 详谈实例构造器和类型构造器
    让我们都建立自己的知识树吧
    读<<CLR via C#>>总结(5) 如何合理使用类型的可见性和成员的可访问性来定义类
    读<<CLR via C#>>总结(10) 详谈委托
    读<<CLR via C#>>总结(4) 值类型的装箱和拆箱
  • 原文地址:https://www.cnblogs.com/JerryZao/p/9977954.html
Copyright © 2011-2022 走看看