Node.js 就是一个封装了 操作系统API 的可执行程序,同时也对外提供了自己的API,并采用了 JavaScript 作为其API 的标准。换言之,应用软件可以用 JavaScript 直接与操作系统进行交互通讯。

使用 Google Chrome V8 JavaScript 引擎,使得前端开发人员也可用 JS 写后端代码;

采用单线程、异步 I/O(非阻塞范式)运行,不会有线程并发的负担,使得单台服务器也能轻松处理数千个并发。

Nginx 只是负责通讯的应用程序,只需简单修改配置文件,就可以搭建一个高性能的 http 服务器;Node.js 的 HTTP 这个 API 也可以搭建一个 http 服务器;

Node.js 可以完成 Nginx 的所有工作,但是需要写很多代码,也要做很多性能优化工作,如果只是需要http服务,那么Nginx 是个好的解决方案。譬如 用 Nginx 部署发布一个网站。

如果需要开发一款web应用,Node.js 是一个好的解决方案,因为Node.js 不仅仅只有 HTTP 这一个API,还有 Buffer、processes、Console 等很多API,web 应用所有需要都能得到支持。譬如开发一款企业级网站。

1、用你熟悉的方式创建一个 app.js 文件,复制下面代码到文件中去:

:把实现某功能的代码,放到单个 .js 文件中,在需要时导入,可避免写重复代码,这个 .js 文件被称为 模块(module)。

:把这个包(package)共享到平台上,供他人下载使用,这个平台就是 npm 的一部分,npm 还有下载、安装包等管理包的功能。由于全球1100万开发人员的贡献,现在有超过100万个包可供使用,通过 npm 安装包到项目中,极大缩短项目开发周期。安装和使用,看这里!

Node.js 出现之前,js 文件只有一个官方标准:ECMAScript,所有浏览器解析 js文件,都是用这个标准解析。

那么问题来了,上面示例中的node app.js,这个app.js 文件,应该用哪种标准来解析执行呢?详情,看这里!

Node.js 加载每一个模块时,都会传递几个参数给模块,告之即将要被加载到哪里?详情,看这里!

package.json 可以理解为项目说明文件,文件内就是一个json对象,记录不同属性,供 Node.js 访问,譬如 Node.js 会读取 package.json 文件中type属性,来决定用什么标准来加载执行 js 文件。

npm 发布的包,也会用到 package.json 来表明包的作者、名称等信息。

Node.js 确实提供了丰富的基础 API,在实际使用过程中还是需要编写很多代码的,于是其常用的功能又被进一步封装,形成很多更便捷的框架。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注