当前位置:网站首页>es6模块化
es6模块化
2022-07-04 13:12:00 【梦幻之光_dream】
1.node.js中如何实现模块化规范
node.js遵循了CommonJS的模块化规范。
导入其他模块使用require()方法。
模块对外共享成module.exports对象。
2.模块化的好处
大家都遵循同样的模块化规范写代码,降低了沟通的成本,极大方便了各个模块之间的相互调用。
3.前端模块化规范的分类
在es6模块化诞生之前,JavaScript社区是用AMD、CMD、CommonJS等模块化规范。
AMD、CMD适用于浏览器端。
CommonJS适用于服务器端。
大多数模块化规范给开发者增加了学习的难度和开发的成本。因此,es6模块规范诞生了。
4.es6模块化规范:它是浏览器端与服务器端通用的模块化开发标准。
es6模块化规范中定义:
每个js文件都是一个独立的模块。
导入其他模块成员使用import关键字。
向外共享模块成员使用export关键字。
在node.js中支持CommonJS模块化规范,若想基于node.js学习es6模块化的语法,可以按照如下两个步骤进行配置:
在package.json的根节点中添加”type”:”module”节点。
快速初始化一个包管理配置文件-package.json的命令:
npm init -y
命令可以在代码终端进行,如果有问题,可以配置环境变量。
5.es6模块化的基本语法:有3种语法。
默认导出与默认导入
默认导出语法:export default { 默认导出的成员(变量或函数) }
注意事项:在每个模块中使用唯一的一次export default,否则会报错。
默认导入语法:import 接受名称 from ‘模块标识符’
例子:import m1 from ./out.js
注意事项:接受名称只要合法就行。
注意事项:终端写命令的时候,如果出现module找不到的问题,那么就要看路径有没有问题。
cd 路径地址 → 可以切换路径
cls → 清除
按需导出与按需导入
按需导出语法:export 按需导出的成员
按需导入语法:import { s1 } from ‘模块标识符’
注意事项:如果有多个成员变量,就用逗号隔开。
每个模块中可以使用多次按需导出。
按需导入的名称与按需导出的名称保持一致。
按需导入时,可以使用as关键字进行重命名。
按需导入可以和默认导出一起使用。
直接导入并执行模块中的代码
语法:import ‘./direct-run.js’
边栏推荐
- Scratch Castle Adventure Electronic Society graphical programming scratch grade examination level 3 true questions and answers analysis June 2022
- Pandora IOT development board learning (RT thread) - Experiment 3 button experiment (learning notes)
- opencv3.2 和opencv2.4安装
- LVGL 8.2 LED
- Incremental ternary subsequence [greedy training]
- R language ggplot2 visualization: gganimate package creates animated graph (GIF) and uses anim_ The save function saves the GIF visual animation
- Alcohol driving monitoring system based on stm32+ Huawei cloud IOT design
- MySQL的存储过程练习题
- Wt588f02b-8s (c006_03) single chip voice IC scheme enables smart doorbell design to reduce cost and increase efficiency
- 产业互联网则具备更大的发展潜能,具备更多的行业场景
猜你喜欢
Ruiji takeout notes
leetcode:6109. Number of people who know the secret [definition of DP]
Digi XBee 3 RF: 4个协议,3种封装,10个大功能
Detailed analysis of pytorch's automatic derivation mechanism, pytorch's core magic
Transplant tinyplay for imx6q development board QT system
Rich text editing: wangeditor tutorial
A keepalived high availability accident made me learn it again
leetcode:6110. 网格图中递增路径的数目【dfs + cache】
Classify boost libraries by function
[information retrieval] link analysis
随机推荐
Map of mL: Based on Boston house price regression prediction data set, an interpretable case of xgboost model using map value
LVGL 8.2 text shadow
【信息检索】分类和聚类的实验
架构方面的进步
Leetcode T48: rotating images
[MySQL from introduction to proficiency] [advanced chapter] (IV) MySQL permission management and control
opencv3.2 和opencv2.4安装
How to operate and invest games on behalf of others at sea
Detailed index of MySQL
Redis daily notes
NowCoder 反转链表
数据埋点的一些问题和想法
[MySQL from introduction to proficiency] [advanced chapter] (V) SQL statement execution process of MySQL
The implementation of OSD on rk1126 platform supports color translucency and multi-channel support for Chinese
Opencv3.2 and opencv2.4 installation
Data warehouse interview question preparation
Solutions to the problems of miui12.5 red rice k20pro using Au or povo2
【C语言】指针笔试题
Gin integrated Alipay payment
Docker compose public network deployment redis sentinel mode