Introduction to Node.js
一般我们是在浏览器中运行Javascript。有了Node.js我们就能在电脑上运行。
非常方便建立服务器。
JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。
在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。
Running Script.js
ES2020:globalThis
globalThis是一个全局变量,在浏览器里对应window,在其他地方对应global.
Modules
低版本的Node 并没有 Import和Export。 用的是require(‘path’)和 Module.exports
ES6 module
需要比versison12.0的版本。
但是会报错SyntaxError: Cannot use import statement outside a module
,原因是它没有当做ES file来运行
解决方法一:
将拓展名从.js改成.mjs
解决方法二:
在Package.json里面添加,“type”:{“module”}
运行Package.json
Type of Module
Node里面有三种类型的模块
第一种,是自己建立的模块,可以用require或import引入。
第二种,是build-in-module
在Node里面提前安装好的模块。例如 ‘fs’,可以读取文件。
第三种是package from npm
nodemon用来监视node.js应用程序中的任何更改并自动重启服务,非常适合用在开发环境中。
nodemon将监视启动目录中的文件,如果有任何文件更改,nodemon将自动重新启动node应用程序。
“start”:“nodemon” 然后 npm start
Building a server
如果要用到require(),需要将之前加在package.json里面的"type":{“module”},否则会报错ReferenceError: require is not defined
在HTTP连接中报文分为请求(request)和响应(response)两种。
request相当于从前端发过来的请求。
response是返回的内容,会显示在网页
HTTP 请求方法
Express.js
Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架
express middleware是在中间处理一下request,然后next()之后再进行下面步骤。
RESTful API
rest api 是前后端分离最佳实践,是开发的一套标准或者说是一套规范,不是框架。
Get: receive the resource
Put: Change the state
Post:Create resource
Delete: remove the resource