分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

nodejs从0到1(Node简介+模块机制)

发布时间:2023-09-06 01:07责任编辑:傅花花关键词:jsnodejsNode

1.nodejs简介:

1.Node不是js应用,而是js运行平台。客户端js通过浏览器和v8引擎联系到了一起,服务器端js用Node和v8又牵起了小手,所以说Node是运行平台,类似于客户端的浏览器。Node采用c++语言编写,v8引擎也是c++写的。Node为神马用c++写呢?这是个有趣的故事,详见《深入浅出Nodejs》.

2.模块机制:

说模块机制之前,先说下CommonJS.CommonJS是一种规范。原来js规范比较薄弱,不利于js大规模应用:主要有以下的缺陷:

2.1:js没有模块系统,没有原生的支持密闭作用域或依赖管理。

2.2:js没有标准库,除了核心库以外,没有文件系统的API,没有IO流API.

2.3:js没有标准接口,没有web server 或者数据库的统一接口。

2.4:js没有包管理系统,不能自动加载和安装依赖。

于是乎就有了CommonJS规范,就是为了解决以上问题,Node.js就是这种规范的实现。Node自身实现了require方法作为其引入模块的方法,同时NPM也是基于这种规范。

3.模块的简单定义及应用:

写一个circle.js

1 var PI=Math.PI;2 exports.area=function(r){3 ????return PI*r*r;4 }5 exports.zhouchang=function(r){6 ????return 2*PI*r;7 }

写一个testCircle.js

1 var circle=require("./circle");2 console.log("erea:"+circle.area(1)+"zhouhcang:"+circle.zhouchang(1));

执行结果:

require是导入;exports是导出,内部方法原理是由node自身实现的,在es6之前node导入导出用这两个实现,es6出现后,export;import成为主流。

ES6发布的module并没有直接采用CommonJS,甚至连require都没有采用,也就是说require仍然只是node的一个私有的全局方法,module.exports也只是node私有的一个全局变量属性。

nodejs从0到1(Node简介+模块机制)

原文地址:http://www.cnblogs.com/gaoxuerong123/p/7450040.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved