摘要:一前言用模块写代码,为什么要用模块来写代码之前,在中定义的一切,都是共享一个全局作用域的,随着应用变得复杂,这样做会引起如命名冲突和安全问题于是引入了模块。
一.前言:
用模块写代码,为什么要用模块来写代码: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 原创:转载请声明
觉得对你有用,请点赞!欢迎探讨指点!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/94558.html
摘要:一前言用模块写代码,为什么要用模块来写代码之前,在中定义的一切,都是共享一个全局作用域的,随着应用变得复杂,这样做会引起如命名冲突和安全问题于是引入了模块。 一.前言: 用模块写代码,为什么要用模块来写代码:ES6之前,在js中定义的一切,都是共享一个全局作用域的,随着web应用变得复杂,这样做会引起如:命名冲突和安全问题、于是引入了模块。 二.清楚一个概念: export 和 ex...
摘要:在上一篇文章中中和模块的导入导出对比,偏向于理论层面,还有一些同学在微信群里或是私下里针对一些问题进行了沟通,所以有了这一篇文章,对的导入导出进行总结和实践当直接给时,会失效这个问题其实已经和导入导出没什么关系了,我们看一个知乎上的问题详细 在上一篇文章中JavaScript中AMD和ES6模块的导入导出对比,偏向于理论层面,还有一些同学在微信群里或是私下里针对一些问题进行了沟通,所以...
更新:最新的源码和使用说明放到了github上 点击跳转本文的重点在于restful接口的设计与实现,使用到了express和monogoose.点击查看express教程点击查看monogoose教程ES6入门教程----阮一峰的博客 node4.x对ES6的支持并不完善,建议使用更高版本的node在实际开发中请在文件头部添加use strict来声明使用严格模式为了有助于更好的理解后期的代码,...
摘要:学习模块不是对象,而是通过命令显式指定输出的代码,输入时也采用静态命令的形式。的模块自动采用严格模式命令用于规定模块的对外接口,命令用于输入其他模块提供的功能。该文件内部的所有变量,外部无法获取。 es6 学习-module_v1.0 ES6模块不是对象,而是通过export命令显式指定输出的代码,输入时也采用静态命令的形式。 ES6的模块自动采用严格模式 export命令用于规定模...
阅读 3405·2021-09-26 09:46
阅读 2742·2021-09-13 10:23
阅读 3465·2021-09-07 10:24
阅读 2374·2019-08-29 13:20
阅读 2898·2019-08-28 17:57
阅读 3053·2019-08-26 13:27
阅读 1161·2019-08-26 12:09
阅读 484·2019-08-26 10:27