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 相关文章推荐
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
JavaScript中instanceof运算符的使用示例
Jun 08 Javascript
JavaScript中定义对象原型的两种使用方法
Dec 15 Javascript
AngularJS实现动态添加Option的方法
May 17 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
微信小程序 页面跳转事件绑定的实例详解
Sep 20 Javascript
Vue导出json数据到Excel电子表格的示例
Dec 04 Javascript
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
微信小程序转发事件实现解析
Oct 22 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
详解jQuery的核心函数和事件处理
Feb 18 jQuery
详解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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
php字符集转换
2017/01/23 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
python访问类中docstring注释的实现方法
2015/05/04 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
解决Python requests 报错方法集锦
2017/03/19 Python
pandas分区间,算频率的实例
2019/07/04 Python
Python 实现自动导入缺失的库
2019/10/29 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
大学教师年终总结的自我评价
2013/10/29 职场文书
承诺书范文
2014/06/03 职场文书
关于颐和园的导游词
2015/01/30 职场文书
会议邀请函
2015/01/30 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
浅谈Python项目的服务器部署
2021/04/25 Python
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS