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 相关文章推荐
利用Ext Js生成动态树实例代码
Sep 08 Javascript
克隆javascript对象的三个方法小结
Jan 12 Javascript
js识别不同浏览器基于userAgent做判断
Jul 29 Javascript
js跨域问题浅析及解决方法优缺点对比
Nov 08 Javascript
AngularJS内置指令
Feb 04 Javascript
js中的内部属性与delete操作符介绍
Aug 10 Javascript
jQuery解析json数据实例分析
Nov 24 Javascript
javascript学习之json入门
Dec 22 Javascript
ligerUI---ListBox(列表框可移动的实例)
Nov 28 Javascript
JS实现读取xml内容并输出到div中的方法示例
Apr 19 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
javascript OFFICE控件测试代码
2009/12/08 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
django model去掉unique_together报错的解决方案
2016/10/18 Python
python的中异常处理机制
2018/08/30 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
使用Python实现画一个中国地图
2019/11/23 Python
Python requests上传文件实现步骤
2020/09/15 Python
python归并排序算法过程实例讲解
2020/11/04 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
2014年五四青年节活动策划书
2014/04/22 职场文书
企业文化标语大全
2014/06/10 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
群教个人对照检查材料
2014/08/20 职场文书
新员工入职感想
2015/08/07 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android