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做拖动布局的思路
May 31 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
深入理解JS中的Function.prototype.bind()方法
Oct 11 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
Nov 10 Javascript
vue实现添加标签demo示例代码
Jan 21 Javascript
微信小程序url与token设置详解
Sep 26 Javascript
浅谈 Vue 项目优化的方法
Dec 16 Javascript
vue检测对象和数组的变化分析
Jun 30 Javascript
Vue实现图片与文字混输效果
Dec 04 Javascript
ant design vue中表格指定格式渲染方式
Oct 28 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
Dec 04 Javascript
详解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
php实现rc4加密算法代码
2012/04/25 PHP
php错误、异常处理机制(补充)
2012/05/07 PHP
preg_match_all使用心得分享
2014/01/31 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
angular2使用简单介绍
2016/03/01 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
js重写方法的简单实现
2016/07/10 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python Pillow Image Invert
2019/01/22 Python
django表单的Widgets使用详解
2019/07/22 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
flask实现验证码并验证功能
2019/12/05 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
医生进修自我鉴定
2014/01/19 职场文书
学校安全教育制度
2014/01/31 职场文书
银行服务感言
2014/03/01 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
解除施工合同协议书
2014/10/17 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python