安装和运行(含虚拟机)

Nodejs是运行js脚本的环境,浏览器也是一种运行环境,在Nodejs里就没有什么dom了,在这里js=es+bom,es还是那个es,es的笔记可以去js篇看,但是bom就不是那个bom了,这里的bom是由我们安装的

Nodejs是一个服务器语言,服务器语言- 应该有什么功能呢

  • 接受外部的请求并响应数据
  • 能连接数据库的
  • 能读取文件的

下载的官网

image.png

今天Nodejs已经发布了第12版了,版本的更新可能会带来新的API,并且还会删除废弃的API,所以如果你选择用一个版本,就应该把安装包留着,以后一直用这个版本,如果一直用新的,可能哪天代码就报错了,因为API被改了或者删了,而且以后我们会用很多框架,框架也是根据某个版本封装的,如果你使用一个特别老的版本或者用一个特别新的版本,框架可能都运行不了,因为他会提示找不到这个方法,选择版本一定要选择V10以上,以为V10之后nodejs支持了async+await

window的安装

下载安装包或者压缩包都行,安装包就直接安装就行,压缩包就解压到某个盘里,然后右键我的电脑,属性,按下图的指示把nodejs所在目录的地址配置到系统变量的path里(如果是安装包安装的,好像会自动配置好)

image.png

然后打开window+R打开系统运行,输入cmd回车打开cmd窗口

image.png

# 查看版本
node --version

我的版本是V10的,如果提示node命令不存在什么的,就得百度为什么了,或者重新装一次

image.png

淘宝镜像
在nodejs的安装文件夹里,可以看到npm.cmd,这是安装node自带的,npm是用来安装插件的,npm是个全网的插件大全,在nodejs和vue的开发会经常使用到npm,但是npm的服务器是在外国的,下载插件的速度是几个字节每秒,所以安装完node的第一件事就是把npm的下载路径修改成国内的,就是传说中的淘宝镜像,阿里自己也搭了个可供下载的服务器,每10分钟去同步外国的仓库,所以直接用淘宝的镜像就行

淘宝镜像官网,其实就是一句命令而已,打开cmd窗口,因为npm文件正好在node的系统环境变量的配置路径下,npm也变成了全局使用的命令

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完毕后,以后要使用npm的命令都把这个npm改成cnpm就行,插件秒安装

Linux

首先去nodejs官网把linux64位的安装包下载下来,同样最好也存着,并且保持本地电脑开发版服务器正式运行版一致,才不会出现虚拟机报错本地不报错,本地不报错虚拟机报错的尴尬局面,下载下来后用Xftp工具复制到/usr/local/nodejs路径下,然后打开Xshell工具

# 进入对应文件夹
cd /usr/local/nodejs

# 解压
tar -xzvf node-v12...用tab键补齐.tar.xz

解压完成后,可以通过Xftp工具看到nodejs里多出一个解压出来的文件夹,里面有跟window文件夹一样的文件,然后也需要把node和npm配置成系统变量

# 方式一:环境变量方式(这种方式似乎只对登录用户有效?)
vi /ect/profile
export NODE_HOME=/usr/local/nodejs
export PATH=$PATH:$NODE_HOME/bin
# 执行命令使配置文件生效
source /etc/profile

# 方式二:软链接方式(推荐)
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/

# 然后查看版本
node --version

# 然后安装镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org

开启简易服务器,创建一个test.js

var http = require("http");
var server = http.createServer(function(request,response){  
      console.log(request.url)
      response.write("123")
      response.end()
})
server.listen(3000)

然后启动服务器

# 需要去到文件所在的文件夹里
node test.js

# 不需要去到文件所在的文件夹里,但是需要文件的绝对路径
node D:/xx/xx/test.js

然后在浏览器打开localhost:3000就可以看到页面显示123,这就说明服务器开启成功了,只要把程序运行到虚拟机上,加上服务器IP地址或者域名,就能被公网的所有人访问了,这就是nodejs的最基础应用,也是最核心的应用

但是node启动服务是不能关闭cmd窗口的,关了就关掉了服务,window无所谓,可以不关,但是虚拟机只有一个命令行界面,开启服务后可能要去执行点别的命令,最主要的是关闭Xshell工具等于关闭了虚拟机的cmd命令,也就是是说断开Xshell工具,node服务就停了,所以需要持续开启node的插件,这个插件叫pm2

# -g 是全局安装的意思
cnpm install pm2 -g

# 开启服务,可以开启很多个的
pm2 start test.js 

# 查看当前运行列表
pm2 list

# 停止,0是list里的id编号
pm2 stop 0

# 重新启动命令
pm2 restart 0

# 删除运行
pm2 delete 0

# 显示所有日志
pm2 logs

# 显示执行编号为0的日志
pm2 logs 0

# 显示名称为server.js的进程
pm2 logs server.js

补充一个npm的知识

npm安装插件的时候有几个命令修饰符--save--save-dev-g,以及不加修饰符

# 安装模块到项目目录下,不会写入package.json,下一次就找不到他了
npm install moduleName  

#-g 的意思是将模块安装到全局
npm install moduleName -g	

#-save 打包需要,在package.json文件的dependencies节点写入依赖,比如vue,vuex
npm install moduleName -save  

#--save-dev 开发需要,在package.json文件的devDependencies节点写入依赖,必须babel,eslint
npm install moduleName --save-dev	

装错了位置会导致打包后没有vue,或者带着没用的babel导致打包文件过大等

posted @ 2019-12-20 12:36  一个年轻淫  阅读(305)  评论(0编辑  收藏  举报