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之更有效率的字符串替换
Aug 02 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 Javascript
js实现九宫格图片半透明渐显特效的方法
Feb 16 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
AjaxUpLoad.js实现文件上传
Mar 05 Javascript
vue实现简单跑马灯效果
May 25 Javascript
vue实现移动端input上传视频、音频
Aug 18 Javascript
原生Javascript+HTML5一步步实现拖拽排序
Jun 12 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操作文件方法问答
2007/03/16 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
分享PHP守护进程类
2015/12/30 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
js对象的比较
2011/02/26 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
Python 异常处理实例详解
2014/03/12 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
Django REST framework视图的用法
2019/01/16 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
opencv实现图像平移效果
2021/03/24 Python
销售找工作求职信
2013/12/20 职场文书
初中信息技术教学计划
2015/01/22 职场文书
学会感恩主题班会
2015/08/12 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python