Javascript(es2016) import和require用法和区别详解


Posted in Javascript onAugust 11, 2017

本文介绍了Javascript(es2016) import和require用法和区别详解,分享给大家,具体如下:

写个简单js文件,假设名字为:lib.js 。 假设内容如下:

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

这样就可以在其他地方对lib中定义的属性和方法进行引用,引用方法有两种,也就时import和require。

//方法一
import { square, diag } from 'lib';
console.log(square(11)); // 121
console.log(diag(4, 3));
//方法儿
import * as lib from 'lib';
square = lib.square;

还可以设置默认的导出信息,就需要崽lib.js中定义 export default {}。default后面可以接一个参数,也可以接一个数组。书写方法为:

//------ module1.js ------
export default 123;

//------ module2.js ------
const D = 123;
export { D as default };

通常比较习惯用第一种。然后用import就可以得到这个数组或则参数。但是import只能用于静态导入,就是必须在文件开始的时候,在最上层就写好。而require就可以实现动态加载。

加载方式 规范 命令 特点
运行时加载 CommonJS/AMD require 社区方案,提供了服务器/浏览器的模块加载方案。非语言层面的标准。只能在运行时确定模块的依赖关系及输入/输出的变量,无法进行静态优化。
编译时加载 ESMAScript6+ import 语言规格层面支持模块功能。支持编译时静态分析,便于JS引入宏和类型检验。动态绑定。
const incrementCounter = function ({dispatch,state}){
 dispatch(‘INCREMENT‘)
}
export default {
 incrementCounter
}
//require
let myAction = require(‘xxxxx‘);
myAction.default.incrementCounter()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
初识javascript 文档碎片
Jul 13 Javascript
JavaScript高级程序设计 事件学习笔记
Sep 10 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
Sep 01 Javascript
纯JavaScript代码实现文本比较工具
Feb 17 Javascript
JavaScipt中栈的实现方法
Feb 17 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
使用vue制作探探滑动堆叠组件的实例代码
Mar 07 Javascript
js合并两个数组生成合并后的key:value数组
May 09 Javascript
vue进入页面时滚动条始终在底部代码实例
Mar 26 Javascript
Node.js API详解之 console模块用法详解
May 12 Javascript
Vue开发中常见的套路和技巧总结
Nov 24 Vue.js
详解Node中导入模块require和import的区别
Aug 11 #Javascript
vue实现单选和多选功能
Aug 11 #Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 #Javascript
Angular模板表单校验方法详解
Aug 11 #Javascript
AngularJs导出数据到Excel的示例代码
Aug 11 #Javascript
Vue 表单控件绑定的实现示例
Aug 11 #Javascript
Angular4实现动态添加删除表单输入框功能
Aug 11 #Javascript
You might like
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP 危险函数解释 分析
2009/04/22 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
eclipse php wamp配置教程
2016/06/30 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
Python中的生成器和yield详细介绍
2015/01/09 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
Python字符串处理实例详解
2017/05/18 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
pytorch标签转onehot形式实例
2020/01/02 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
保护水资源的标语
2014/06/17 职场文书
法人身份证明书
2015/06/18 职场文书