Node.js的学习分享、换源和问题
本文最后更新于 2024-08-29,文章内容可能已经过时。
起源:在B站看视频学习Vue,看到一半Vue调用接口,视频中用的node.js做服务端,其实用Java,python,php都有可以。我用java写了后台接口,Eclipse+Tomcat启动方式是真的慢,还占资源,于是突然对node感兴趣,又去看node.js的视频。
简介
简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
这里照搬菜鸟教程
优点
- 非阻塞的I/O
正常情况下I/O的操作是阻塞的(ajax同步)
- 高并发特别好
详细参考:CSDN
为什么要学Node.js
一般对于前端开发者,不会后端,但是想部署一些东西,或者需要自己调用接口测试前端之类,上手比较快的服务端。
好学吗?用的到吗?
就我来说,JS扎实 会javaweb上手还是挺快的 大概5天左右入门 会基础的就行
至于用不用的到,用在哪些场景,详细参考:CSDN
模块化
-
内置模块(node中提供的,可以直接调用)
- 文件操作
-
第三方模块
-
自定义模块
- 创建一个模块(一个js文件一个模块)
- 导出一个模块(module.exports=name)
- 引用一个模块并调用
我为什么要学?
只是突然感兴趣。对于现在在学前端的我来说,调用接口比java方便,更轻量级。
用什么编辑器
其实前端编辑器都可以,我用过HbuliderX,不过语法提示不是很好,而且如果新手不会配置HBuilder的话每次运行都要用cmd窗口 所以我换到了Vscode下面就有窗口可以写cmd
要注意什么
因为node是模块化,所以我建议把模块安装在最外面的目录,子目录会自动往上找去调用模块不用担心。
npm换源
类似python,npm国外服务器下载也非常慢,可以换成国内的源 输入以下代码: npm config set registry http://registry.npmmirror.com 还有一种是网上比较多的cnpm
npm install -g cnpm --registry=http://registry.npmmirror.com
都换了源,区别就是第一个指令还是npm,但第二个就是cnpm。推荐第一种方式 之后再输入
npm config list
就可以看下以下信息,已经换好了
; cli configs
metrics-registry = "http://registry.npmmirror.com"
scope = ""
user-agent = "npm/6.13.4 node/v12.16.1 win32 x64"
; userconfig C:\Users\84788\.npmrc
registry = "http://registry.npmmirror.com"
; builtin config undefined
prefix = "C:\\Users\\84788\\AppData\\Roaming\\npm"
; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\Users\84788
; HOME = C:\Users\84788
; "npm config ls -l" to show all defaults.
基本操作
//初始化命令(不是每次都需要执行)
npm init --yes
//安装模块命令
npm install XXXX --save/npm i XX -s
安装
安装教程:菜鸟教程
插件
部分插件归于问题里面 ##1.session插件-express-session## 安装命令
npm install express-session -s
配置在server.js就行
//session配置
app.use(session({
secret:'asfafqwf',//为了安全性的考虑设置secret属性
cookie:{maxAge:60*1000*60*24},//设置过期时间
resave:true,//及时Session没有被修改,也保存session,默认为true
saveUninitialized:false//无论有没有session cookie,每次请求都设置session cookie,默认为false
}))
问题
##1.cmd提示不是内部或外部命令##
环境变量,在系统变量Path中添加
C:\Program Files\nodejs\
##2.nodemon是什么## 运行server后,很多情况下修改了代码需要重启服务,nodemon可以让服务自动更新,nodemon的安装和其他模块不同一点定要全局安装
npm install nodemon -g
##3.apidoc##
可以自动生成api文档
/**
* @api {get} /user/:id Request User information
* @apiName GetUser
* @apiGroup User
*
* @apiParam {Number} id Users unique ID.
*
* @apiSuccess {String} firstname Firstname of the User.
* @apiSuccess {String} lastname Lastname of the User.
*/
官网链接:点击访问
##4.图片上传multer模块## 安装
npm install multer
##5.跨域问题## express的中间件有个cors 安装命令
npm install cors -s
调用
const express=require('express')
const cors=require('cors')
const app=express()
app.use(cors())
其他跨域问题:跨域访问报错
- 感谢你赐予我前进的力量