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

作者:自我还是本我 时间:2024-04-19 09:57:04 

本文介绍了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/AMDrequire社区方案,提供了服务器/浏览器的模块加载方案。非语言层面的标准。只能在运行时确定模块的依赖关系及输入/输出的变量,无法进行静态优化。
编译时加载ESMAScript6+import语言规格层面支持模块功能。支持编译时静态分析,便于JS引入宏和类型检验。动态绑定。


const incrementCounter = function ({dispatch,state}){
dispatch(‘INCREMENT‘)
}
export default {
incrementCounter
}
//require
let myAction = require(‘xxxxx‘);
myAction.default.incrementCounter()

来源:http://blog.csdn.net/chinaycheng/article/details/52559439

标签:import,require,区别
0
投稿

猜你喜欢

  • 基于Python制作一键桌面整理工具

    2022-08-22 11:45:52
  • Pytorch 卷积中的 Input Shape用法

    2023-03-27 21:46:35
  • pygame学习笔记(4):声音控制

    2021-08-15 20:04:35
  • set rs=server.CreateObject("adodb.recordset") 的中文详细说明

    2011-03-06 11:21:00
  • 分享:在存储过程中使用另一个存储过程返回的查询结果集的方法

    2024-01-16 13:03:57
  • Python学习之面向对象编程详解

    2023-10-12 18:48:46
  • Python中format()格式输出全解

    2022-09-01 11:10:34
  • django-allauth入门学习和使用详解

    2022-05-24 12:36:09
  • Go语言Web编程实现Get和Post请求发送与解析的方法详解

    2024-05-09 14:52:25
  • PHP date函数参数详解

    2023-11-23 06:41:40
  • Python自定义一个异常类的方法

    2022-04-23 12:51:11
  • python用selenium打开chrome浏览器保持登录方式

    2022-02-19 10:28:08
  • Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解

    2024-05-10 14:14:56
  • Oracle中Union与Union All的区别(适用多个数据库)

    2012-07-21 15:13:27
  • pymysql模块的使用(增删改查)详解

    2024-01-15 06:01:03
  • js与jquery获取父元素,删除子元素的两种不同方法

    2023-10-07 04:08:00
  • vue项目中less的一些使用小技巧

    2023-07-02 16:51:33
  • MySQL中Multiple primary key defined报错的解决办法

    2024-01-13 20:35:14
  • SQL Server保障数据一致性的法宝

    2008-12-26 15:21:00
  • Python+tkinter编写一个最近很火的强制表白神器

    2022-10-25 07:42:10
  • asp之家 网络编程 m.aspxhome.com