一.前言:

用模块写代码,为什么要用模块来写代码:ES6之前,在js中定义的一切,都是共享一个全局作用域的,随着web应用变得复杂,这样做会引起如:命名冲突和安全问题、于是引入了模块。

二.清楚一个概念:

  • export 和 export default 是ES6 里面的API(本文只介绍ES6的)
  • exports 和 model..exports 是node.js里面的API,更切确的说是Common.js里的(就和require 和 import 相似)

三.export

// a.js
export let a = 1 //输出变量
export fn(){...} //输出函数
export class Class{
constructor(a,b){
this.a = a;
this.b = b;
}
} //输出类 fn2(){...} //定义一个函数
export fn2; //建议以这种在末尾统一输出的方式export
export {fn2 ,fn}; //导出多个变量,要有{}
export {fn2 as asFn2}; //导出时重命名,要有{} // b.js
import {fn2} from 'a.js'; //export 的引入要加{},单个也要加;
import {fn2 , a , Class as Class1} from 'a.js' //引入多个要用 ‘,’隔开;
import * as example from 'a.js'; //引入整个模块
example.a = 1; //使用模块,在有很多需要引入时,建议这种方法;

四.export defalut(模块的默认值)

  // a.js
export default function(num1,num2){...} //导出默认值,只能导出一个
export let a = 1; //导出变量a // b.js import any from 'a.js'; //引入默认值,any 可以是任意的名字,不用{}
import {a} from 'a.js'; //引入a ;
import any,{a} from 'a.js' //默认值必须放在非默认值前面
import {default as any , a} from 'a.js' //有重命名就要大括号包起来

总结:

  • export :

    • 单个不用括号,多个要用{},as也要用{}; (因为export default 只能export 一个);
  • import

    • 除了* as ,别的重命名都要用{}
    • export 要用{}
    • 既有export 和 export default时:import any,{a} from 'a.js’ 默认写前面

by:Beast 原创:转载请声明

觉得对你有用,请点赞!欢迎探讨指点!

最新文章

  1. delphi 一个自动控制机的硅控板检测程序,用多线程和API,没有用控件,少做改动就能用 用485开发
  2. CSharp任何可比较的数据类型(大小比较泛型实现方法)封装
  3. Android 手机卫士--xutils说明与下载方法使用
  4. Unity使用Kinect初级教程
  5. php接收二进制数据流转换成图片
  6. UVa 11825 集合dp
  7. win使用telnet到ubuntu下vim显示中文为乱码的解决方法~
  8. 支付宝LR集群压测报告
  9. [代码]JS原生Ajax,GET和POST
  10. React从入门到放弃之前奏(4):Redux中间件
  11. jQuery 对象 等操作
  12. 20145232韩文浩《网络对抗》PC平台逆向破解
  13. 【原创】sizeof运算符总结
  14. Java 引用数据类型
  15. MyBatis初探
  16. 实验一Java开发环境的熟悉-3
  17. .Net Core2.0基于DbContext,IActionFilter过滤器实现全局UOW,不使用TransactionScope
  18. spring的AOP个人理解和使用
  19. golang基础之三-字符串,时间,流程控制,函数
  20. linux远程连接

热门文章

  1. aria2 源码解析专题 —— (二) Exception 部分
  2. centos7下rsync+inotify脚本实现文件同步,.NET CORE客户端文件更新后自动重启服务
  3. 10、mysql的调优
  4. 微信小程序实现简单的2048
  5. vue3 区别于 vue2 的“与众不同”
  6. 给Windows系统免疫不再受恶意代码骚扰
  7. Java案例——简单登录
  8. c++-投骰子
  9. JavaWeb 07_创建web项目连接MySQL实现注册登录功能
  10. 使用数据库连接工具DBeaver连接H2数据库