当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Javascript(es2016) import和require用法和区别详解

Javascript(es2016) import和require用法和区别详解

2017年08月16日  | 移动技术网IT编程  | 我要评论

本文介绍了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网