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 数组克隆方法 小结
Mar 20 Javascript
用apply让javascript函数仅执行一次的代码
Jun 27 Javascript
Visual Studio中js调试的方法图解
Jun 30 Javascript
Jquery解析Json格式数据过程代码
Oct 17 Javascript
jQuery实现立体式数字滚动条增加效果
Dec 21 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
Angular2学习笔记之数据绑定的示例代码
Jan 03 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 Javascript
vue配置font-awesome5的方法步骤
Jan 27 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 Javascript
在vue中使用jsx语法的使用方法
Sep 30 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 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&mysql(五)
2006/10/09 PHP
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
PHP的5个安全措施小结
2012/07/17 PHP
PHP实现简单登录界面
2019/10/23 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python fabric实现远程部署
2017/01/05 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
考试作弊被抓检讨书
2014/01/10 职场文书
新闻编辑求职信
2014/07/13 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
2014财务年终工作总结
2014/12/08 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS