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的alert弹出框出现乱码解决方案
Sep 02 Javascript
js 将图片连接转换成base64格式的简单实例
Aug 10 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
详解webpack解惑:require的五种用法
Jun 09 Javascript
Vue实现表格中对数据进行转换、处理的方法
Sep 06 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
微信小程序文字显示换行问题
Jul 28 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
Aug 12 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
echarts柱状图背景重叠组合而非并列的实现代码
Dec 10 Javascript
js回到页面指定位置的三种方式
Dec 17 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实现异步调用方法研究与分享
2011/10/27 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
PHP防盗链代码实例
2014/08/27 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP fclose函数用法总结
2019/02/15 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
Python中apply函数的用法实例教程
2014/07/31 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
python二维键值数组生成转json的例子
2019/12/06 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
会计自荐书
2013/12/02 职场文书
流动人口婚育证明
2014/10/19 职场文书
离婚协议书范文2015
2015/01/26 职场文书
综合素质自我评价评语
2015/03/06 职场文书
2015年工程部工作总结
2015/04/30 职场文书