ES6:模块简单解释

modules是ES6引入的最重要的一个特性。

以后写模块的时候就直接按照ES6的modules语法来写 ,然后用babel+browserify 来打包就行了。

modules规范分两部分,一部分是如何导出,一部分是如何导入。

基本用法

命名导出(named exports)

可以直接在任何变量或者函数前面加上一个 export 关键字,就可以将它导出。 
这种写法非常简洁,和平时几乎没有区别,唯一的区别就是在需要导出的地方加上一个 export 关键字。 
比如:

export const sqrt = Math.sqrt;
export function square(x) {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}

然后在另一个文件中引用的时候 。

import { square, diag } from ‘lib‘;
console.log(square(11)); // 121
console.log(diag(4, 3));

小伙伴们可以在自己的工程的文件可以看到 。这个自己去找找看。

export * from ‘src/other_module‘;
export { foo, bar } from ‘src/other_module‘;
export { foo as myFoo, bar } from ‘src/other_module‘;

export from 就是用来到处由其他地方导入的模块 。 仔细的看一下这一句话 。

时间: 2024-08-05 16:05:19

ES6:模块简单解释的相关文章

ES6模块之export和import教程

一.ES6中的模块ES6中的模块即使一个包含JS代码的文件,在这个模块中所有的变量都是对其他模块不可见的,除非我们导出它.ES6的模块系统大致分为导出(export)和导入(import)两个模块. 二.导入的具体使用 场景1:只想导入源模块的部分内容假设a.js是以如下方式导出的 // a.js export var num = 100 export var name = '王小明' 那么如果我们只需要a模块的num,就应该按下面的方式导入它 // b.js import {num} from

面向未来的 ES6 模块标准

既然模块化已经越来越重要,那么从语言层面上直接去解决这个问题就显得很有必要(况且其他语言早就有了).于是 ES6 直接在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案. 设计思想 简单来说,ES6 模块的设计思想就是:一个 JS 文件就代表一个 JS 模块.在模块中你可以使用 import 和 export 关键字来导入或导出模块中的东西. ES6 模块主要具备以下几个基本特点: 自动开启严格模式,即使

ES6模块的import和export用法总结

ES6之前以前出现了js模块加载的方案,最主要的是CommonJS和AMD规范.commonjs前者主要应用于服务器,实现同步加载,如nodejs.AMD规范应用于浏览器,如requirejs,为异步加载.同时还有CMD规范,为同步加载方案如seaJS. ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案. ES6模块主要有两个功能:export和import export用于对外输出本模块(一个文件

ES6模块的import和export用法

ES6之前已经出现了js模块加载的方案,最主要的是CommonJS和AMD规范.commonjs主要应用于服务器,实现同步加载,如nodejs.AMD规范应用于浏览器,如requirejs,为异步加载.同时还有CMD规范,为同步加载方案如seaJS. ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案. ES6模块主要有两个功能:export和import export用于对外输出本模块(一个文件可以

es6 很简单

es6出了许多好的,优秀的特性.下面列举一些常用的 其实这些特性都很好理解,一两句话就可以表达出来看.主要是对旧的写法的一种改进. function  加了一些语言糖,传参更方便 class       function()的语法糖,更接近传统语言的写法,性能要差点 let|const  提供了块级作用域,不存在变量提升 promise  就是一个状态机+回调函数的结合体 字符串模版  是函数调用的一种特殊形式."标签"指的就是函数,紧跟在后面的模板字符串就是它的参数. console

预编译命令简单解释(转载)

我的blog是用开源的BlogEngine来架设的,有的时候为了满足自己的需求及要对源代码做一些修改.在我调试客户端代码的时候,不管是使用Firebug或者是Vs 2008来调试,看到的Javascript代码都是经过动态压缩过了的,这个系统有一个HttpHanddle是专门用来处理js文件请求的,在第一次请求的时候会对js代码进行压缩,去掉了注释换行符等不必要的字符,这样可以提高访问的速度,但是对调试非常的不利,相信我们谁都不愿意对着一堆压缩过了的JS代码做调试.于是我想到了C#的预编译指令,

javascript 对象简单解释

在javascript 中 数组是对象,函数是对象,正则表达式是对象,当然对象自然也是对象. 对象是属性的容器,每个属性都有名字和值,名字可以是包括空字符串在内的任意字符串,属性值是除undefined值之外的任何值. 若在对象中检索一个并不存在的成员变量值,将返回一个undefined值. 使用 || 运算符填充默认值: var middel = stooge["middle-name"] || "{none}" 尝试检索一个undefined值可能倒是typeE

Es6模块语法

/** * Created by Administrator on 2017/4/15. */ /*---------------------export命令---------------------*/ //Es6 的模块加载 //defer是"渲染完再执行",async是"下载完就执行". //浏览器对于带有type="module"的<script>,是异步加载,等同于打开了<script>标签的defer属性. /

简单解释一下正则化

解释之前,先说明这样做的目的:如果一个模型我们只打算对现有数据用一次就不再用了,那么正则化没必要了,因为我们没打算在将来他还有用,正则化的目的是为了让模型的生命更长久,把它扔到现实的数据海洋中活得好,活得久. 再简单解释一下正则化,以下内容来自PRML前三章,具体页数记不清了. 上图中的模型是线性回归,有两个特征,要优化的参数分别是w1和w2,左图的正则化是l2,右图是l1.蓝色线就是优化过程中遇到的等高线,一圈代表一个目标函数值,圆心就是样本观测值(假设一个样本),半径就是误差值,受限条件就是