| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 二.模块化笔记 -> 正文阅读 |
|
[JavaScript知识库]二.模块化笔记 |
1.模块化机制(CommonJs ES6)package.json { ????????"type":"commonjs" //CommonJs ????????"type":"module" //ES6 } 1.ES6模块化(编译时加载)export命令用于规定模块的对外接口,即模块的暴露 import命令用于输入其他模块提供的功能,即模块的导入。 1.导入普通
2.导入默认 一个模块只能有一个默认导出,不能使用 var、let 或 const 用于导出默认值 export default。
3.同时导入默认和普通
4.运行模块
2.CommonJs模块化(运行时加载) (服务器端)1.module.exports用于导出
2.require() 命令用于导入
3.导入并运行
3.AMD模块化规范(客户端--浏览器)4.ES6模块化和CommonJs模块化区别:commonjs ?运行时加载,代码运行时,模块间的依赖关系才被确认 ?对于基本数据类型,类似于复制,独立的拷贝,原始值发生修改,导出值不会受到影响 ?对于复杂数据类型,属于浅拷贝。由于两个模块引用的对象指向同一个内存空间,因此对该模块的值做修改时会影响另一个模块。 ?当使用require命令加载某个模块时,就会运行整个模块的代码。当使用require命令加载同一个模块时,不会再执行该模块,而是取到缓存之中的值。也就是说,CommonJS模块无论加载多少次,都只会在第一次加载时运行一次,以后再加载,就返回第一次运行的结果,除非手动清除系统缓存。 如果导入多次,第一次导入是加载,之后的导入是从缓存中取值 ?rquire('./a.js')使用require命令加载某个模块,会执行内部的所有代码 ES6 ?编译时加载,代码在编译阶段,就确定了模块间的依赖关系 ?ES6模块中的导入导出值属于【动态只读引用】。 ?对于只读来说,即不允许修改引入变量的值,import的变量是只读的,不论是基本数据类型还是复杂数据类型。当模块遇到import命令时,就会生成一个只读引用。等到脚本真正执行时,再根据这个只读引用,到被加载的那个模块里面去取值。 ?对于动态来说,原始值发生变化,import加载的值也会发生变化。不论是基本数据类型还是复杂数据类型。 ?不允许重复导入,使用import加载某个模块,会执行内部的所有代码 2.包管理机制(npm cnpm yarn) |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 19:44:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |