Node.js 从小白到菜鸟系列文章记录本人从一个小白到依靠 Node.js 混口饭吃的历程。此篇为 Node.js 从小白到菜鸟系列文章的第零篇,介绍一些学习 Node.js 的预备知识与 Node.js 安装使用。此篇文章的内容一定要读懂,这些内容是 Node.js 的工作方式与核心概念。
Node.js 安装
- Windows 用户可以在 Node.js 官网 下载安装包
- *nix 和 macOS 用户可以使用 nvm 进行安装。具体安装方法参考 nvm 文档
NPM
NPM 现在的版本中已经集成到 Node.js 安装包中,所以安装好 Node.js 后就已经可以使用 npm
命令了。NPM 是 Node.js 的包管理工具,可以使用 NPM 来安装开源模块帮助我们更有效率地开发。NPM 常用命令如下:
-
npm init
:在当前目录初始化项目并生成package.json
-
npm install
:安装package.json
中声明的所有依赖模块 -
npm install ${module_name} --save
:安装${module_name}
模块并将依赖写入package.json
-
npm run ${command}
:执行命令,命令可在package.json
中scripts
中配置
package.json
是一个 Node.js 项目的说明文件,其中说明了项目名称,入口文件,依赖模块等信息。package.json
示例内容如下:
{
"name": "example",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
require
require
是 Node.js 提供的模块引入机制。可以引入 .js
、.json
和 .node
文件。
exports 和 module.exports
exports
和 module.exports
是 Node.js 提供的文件导出机制,require
引入的是 module.exports
。
初始状态 module.exports
值为 {}
,exports
与 module.exports
指向同一块数据,这时可以通过 exports.${name}
进行赋值并导出。当对 module.exports
进行赋值后如 module.exports = function () {}
,exports
与 module.exports
不再指向同一块数据,这时如果在其他文件中 require
仅能得到 module.exports
导出的内容,而使用 exports.${name}
赋值的数据是无法导出的。所以常见到一种写法 exports = module.exports = function () {}
,这样做又使得 exports
与 module.exports
指向同一块数据。
module.exports
导出的内容可以是任何合法的 JavaScript 对象(String、Number、Function、JSON 等等)。