由于 Node.js 平台是在后端运行 JavaScript 代码,所以,必须首先在本机安装 Node.js 环境。
从本章开始,我们就正式开启 JavaScript 的后端开发之旅。
Node.js 是目前非常火热的技术,但是它的诞生经历却很奇特。
在前面的所有章节中,我们编写的 JavaScript 代码都是在浏览器中运行的,因此,我们可以直接在浏览器中敲代码,然后直接运行。
从本章开始,我们编写的 JavaScript 代码将不能在浏览器环境中执行了,而是在 Node.js 环境中执行,因此,JavaScript 代码将直接在您的计算机上以命令行的方式运行,所以,我们要先选择一个文本编辑器来编写 JavaScript 代码,并且把它保存到本地硬盘的某个目录,才能够执行。
Node.js 是一款全球使用广泛的框架,可以用在前端与后端上,拥有大量的模块。Node.js 主要以其丰富并及其容易导入的 Node.js package,以及其方便管理 npm (Node.js Package Manager)闻名。
-
process.cwd()
方法返回 Node.js 进程当前工作的目录例: 我在
F:\自己的文件\自己在网上学习的知识点\node学习\node-API\process
这个文件加下面创建了一个 test.js 在该 js 文件中写下下面的代码,然后右键run test.js
const cwd = process.cwd(); console.log(cwd);
输出如下
F:\自己的文件\自己在网上学习的知识点\node学习\node-API\process
-
__dirname
是 Node.js 的一个全局变量,获得当前文件所在目录的完整目录名还在上面的 js 文件中输入一下代码
console.log(__dirname);
输出如下
F:\自己的文件\自己在网上学习的知识点\node学习\node-API\process
现在一看感觉上面两个方法是一样的,其实不是。node.js 进程当前工作的目录有可能不是该文件所在目录的完整目录。例如: 我用
node webpack ..
打包了一个应用程序, 我用这个应用程序可以生产出一套完整的页面架构,在应用程序的配置文件中 console.log(cwd) 在完整的这个页面架构中执行启动这个项目的命令,则对应的 cwd 就是当前项目所在的绝对路径,而不是应用程序的路径 -
__filename
也是 Node.js 的全局变量 Node.js 中,在任何模块文件内部,可以使用__filename
变量获取当前模块文件的带有完整绝对路径的文件名
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在 Node.js 环境中,一个 .js
文件就称之为一个模块(module)。
使用模块有什么好处?
最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括 Node.js 内置的模块和来自第三方的模块。
使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。
由于 Node.js 需要编码、运行、调试,我们需要一个 IDE 集成开发环境,这样就可以大大提升开发效率。综合考察后,Mr.Song 隆重向大家推荐 Node.js 集成开发环境: Visual Studio Code。它启动速度快,执行简单,调试方便这三点上。当然,免费使用是一个加分项。
GitHub 地址: https://github.com/axios/axios
axois 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js