模块化开发

1|01、模块化的发展过程

var moduleObj = { userName: 'zhangsan', fn: function () { console.log('hello world') } }

使用方式

<html> <head> </head> <body> <script src="a.js"></script> <script> moduleObj.fn() </script> </body> </html>

立即执行函数的方式

通过立即执行函数的方式为模块提供私有空间

; (function () { var userName = 'lisi'; function fn1() { console.log(userName); } function fn2() { console.log('hello world') } window.moduleObj = { fn1: fn1, fn2: fn2 }; })()

2|02、模块化规范说明

CommonJS它是node.js中提到的一个规范。也就是说我们在写Node.js的时候,必须符合CommonJS的规范。

CommonJS规范要求 1、一个文件就是一个模块 2、 通过module.exports导出成员项 3、通过require函数加载模块 4、每个模块都有单独的作用域。

AMD(Asynchronous Module Definition),翻译过来就是异步的模块定义规范。

define('moduleA',['jquery','./moduleB'],function($,moduleB){ return{ fn:function(){ // $('p') } } }) require(['./moduleA'],function(moduleA){ moduleA.fn(); })

3|03、ES Module基本使用

1、自动采用了严格模式 2、每个es module 都是运行在单独的私有的作用域中 3`ES module`通过CORS的方式请求外部的JS模块,如果服务端不支持`CORS`,则会出现跨域的问题。 4ES module的script标签会延迟执行脚本,类似于添加了defer.

4|04、导出的注意事项

1、注意语法的问题 2、通过export 对成员进行导出操作,导出的是成员的引用 3、导出的成员是只读的,那么我们导入了以后是不能对成员进行修改的。

5|05、导入的注意事项

1import后面的from跟的是导入的文件的路径,并且是一个完整路径。 2、如果我们这里是执行某个模块,并不需要提取其中的成员 import {} from './module.js' import './module.js 3、如果某个模块中导出的成员比较多,同时我们都需要这些导出的模块成员, import * as m from './module.js' 4、如果需要进行动态的导入 import('./module.js').then(function(module) { console.log(module.) }) 5、在进行导出的时候,使用了exportexport default,导入import应该怎样进行处理? import title, { userName, userAge } from "./module.js";

__EOF__

本文作者不见水星记
本文链接https://www.cnblogs.com/P1Kaj1uu/p/17074531.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   不见水星记  阅读(115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
您是第 8967844 位访问的友友~
点击右上角即可分享
微信分享提示