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 相关文章推荐
自动完成JS类(纯JS, Ajax模式)
Mar 12 Javascript
JQuery 操作select标签实现代码
May 14 Javascript
jquery乱码与contentType属性设置问题解决方案
Jan 07 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 Javascript
7个JS基础知识总结
Mar 05 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
Aug 13 Javascript
JS实现支持多选的遍历下拉列表代码
Aug 20 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
深入分析Javascript事件代理
Jan 30 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 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带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
Django自定义manage命令实例代码
2018/02/11 Python
Python解决八皇后问题示例
2018/04/22 Python
儿童python练习实例
2018/05/27 Python
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
五种Python转义表示法
2020/11/27 Python
python中的时区问题
2021/01/14 Python
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
团员的自我评价
2013/12/01 职场文书
总经理岗位职责描述
2014/02/08 职场文书
聘用意向书范本
2014/04/01 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
妈妈活动方案
2014/08/15 职场文书
承诺书范本
2015/01/21 职场文书
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL