Javascript(es2016) import和require用法和区别详解
程序员文章站
2022-03-27 08:34:34
本文介绍了javascript(es2016) import和require用法和区别详解,分享给大家,具体如下:
写个简单js文件,假设名字为:lib.js 。 假...
本文介绍了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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
下一篇: 这小偷也太猖狂了
推荐阅读
-
javascript中函数定义以及声明和表达式区别实例详解
-
jquery中attr和prop的区别实例用法详解
-
PHP中empty,isset,is_null用法和区别详解
-
git用法教程图文详解(git fetch和git pull的区别)
-
Mybatis的mapper文件中$和#的用法及区别详解
-
JavaScript 数组some()和filter()的用法及区别
-
详解Html a标签中href和onclick用法、区别、优先级别
-
git用法教程图文详解(git fetch和git pull的区别)
-
javaScript中"=="和"==="的区别详解
-
JavaScript中的Repaint和Reflow用法详解