网站链接: element-ui dtcms
当前位置: 首页 > 技术博文  > 技术博文

模块化开发

2021/6/26 16:08:08 人评论

一.模块化 模块化:开发者模拟java中包的功能,来隔离、组织负责的javascript代码,我们称为模块化。 1.一个模块化就是实现特定功能的文件,有了模块,我们就能更方便的使用别人的代码,想要什么功能就加载什么…

一.模块化

模块化:开发者模拟java中包的功能,来隔离、组织负责的javascript代码,我们称为模块化。

1.一个模块化就是实现特定功能的文件,有了模块,我们就能更方便的使用别人的代码,想要什么功能就加载什么模块.

2.为了不污染顶级变量,(不能封装window)我们将模块封装在对象里.

var mydouble={
var1:1,
var2:2,
fun1:function(){

},
fun2:function(){
    
}
}

(1)我们引用模块时就直接写mymodule.fun2( ).

(2)以上代码不会污染顶级变量,也是模块化的基础.

二.模块规范

1.common.js

(1)第一个模块化规范是有服务端定义的.

(2)common.js规范是有node.js发扬光大的.

(3)定义模块:

1)根据common.js规范,一个单独的文件就是一个模块,每一个模块都是一个单独的作用域,也就是说,在该模块内部定义的变量,无法被其他模块读取.

2)模块只有一个出口.

2.AMD即 Asynchronous Module Definition。中文为:异步模块定义,它在一个浏览器端模块开发规范.(异步浏览器不常用)

(1)由于不是js原生支持,使用AMD规范进行页面开发需要对应的函数库,require.js

(2)require.js解决的问题:

1)多个js文件可以有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器

2)js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应时间越长.

3.CMD:即 Common Module Definition——通用模块定义(common.js)

(1)cmd是国内发展的,cmd有个浏览器实现Sea.js.(国内编写的)

(2)sea.js要解决的问题和require一样,只不过在模块定义方式和模块加载时机(服务器端)上有所不同.

什么是node.js?

1.JavaScript是一种运行在浏览器的脚本,它简单、轻巧、易于编辑,这种脚本通常用于浏览器的前端编程,这种前端式的脚本语言可以运行在服务器上.

2.Node.js是一个基于Chrome JavaScript运行时建立的平台,用于方便的搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用.

3.Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好.Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好.

nodejs的优点?

1.RESTfull API

2.单线程

3.Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理——Node.js是单线程的。让通过事件轮询(event.loop)来实现并行操作.对此,我们应该要充分利用这一点——尽可能地避免阻塞操作,取而代之,多使用非阻塞操作.

4.非阻塞IO

5.V8虚拟机

6.事件驱动

REPL命令:(在repl环境中)

ctrl+c             退出当前终端

ctrl+c             按下两次会退出Node REPL

ctrl+d             退出Node REPL

向上/向下 键  查看输入的历史命令

tab  键           列出当前命令

.help             列出使用命令

.break          退出多行表达式

.clear          退出多行表达式

.save filename        保存当前的Node REPL会话到指定文件

.load filename          载入当前Node REPL会话的文件内容

命令提示符环境(cmd环境):

cd 文件名:进入这个目录

cd..  :退出这个目录

mkdir 文件名:创建文件夹

用node测试js文件:

进入文件所在目录,例如:

d://node/web67.运行node.js文件(比如:node test.js)

相关资讯

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?