Nodejs:是用js来做服务器端的操作 和php性质类似,用于读取前端的文件
Node环境搭建
1.安装node安装包
2.打开CMD
3.node -v // 查看安装的node版本(version)
4.npm -v
5.搜索cnpm 找到淘宝镜像安装路径 :npm install -g cnpm --registry=https://registry.npm.taobao.org进行安装
6.cnpm -v
7.npm install nrm -g
8.npm install yarn -g / npm uninstall yarn -g // 安装yarn,卸载yarn
9.cnpm i nrm -g
10.yarn -v
11.nrm ls //查看nrm选择的路径
12.nrm use taobao //选择要用的nrm路径
node相关工具的介绍
node.js 是javascript的运行环境(非阻塞的,异步io,事件驱动//为了减少排队加快运行速率),采用的是chrome V8 引擎解释执行代码
nvm:(node version manager)是一个可以同时管理多个node版本的工具,可以利用nvm进行node版本之间的切换
①node版本可以通过 nvm install 版本号 进行下载
②下载之后用 nvm ls 查看存在的node版本
③如果想要更改node版本就 nvm use 版本号
④node -v 查看当前版本号
⑤nvm uninstall 版本号 卸载node版本
⑥nvm 不能通过install下载 需要用安装包安装
npm(node package manager):是nodejs的包管理器用于node插件管理(包括安装、卸载、管理依赖等),NPM是随同NodeJS一起安装的包管理工具
①允许用户从NPM服务器下载别人编写的第三方包到本地使用。
②允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
③允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
cnpm:(China node package manager)因为通过npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,所以我们乐于分享的淘宝团队干了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步
nrm:(node registry manager)也就是npm的镜像源管理工具,有时候国外资源太慢,那么我们可以用这个来切换镜像源。
yarn:yarn缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
yarn是并行下载的 不会因为一个包出现问题没有安装好而导致别的包都不能安装
运行node.js的方法
① 建立文件的方式
1.新建一个文件夹 // first
2.进入文件夹,shift+右键+在此处打开命令窗口(将文件夹变成node.js的包)
3.npm init -y (文件夹中会产生一个 package.json的文件)
4.在文件夹中新建一个文件,扩展名为XXX.js //hello.js
5.在编辑器中写代码 //console.log("hello world")
6.在 cmd中输入 node 文件名 //node hello
② 交互式
1.在cmd中输入 node
2.直接在cmd中编写代码
3..exit 退出交互
进程 (process):正在进行的程序
线程:进程中的任务
全局对象是global -g的意思是全局安装 如果不加-g就是在当前目录下安装
npm install 包名 --save(生成环境的依赖) //需要上线的项目用这个
npm install 包名 --save-dev(开发依赖) //不需要上线的项目
yarn global add 包名 //全局安装
yarn global remove 包名 //全局卸载
yarn global bin //改变环境变量 【如果用yarn下载 包 下载不上在改变环境变量】
c:UsersadminAppDataLocalYarnin //右键我的电脑 属性 高级设置 改变环境变量,将这个路径加一个 ;粘贴在PATH的路径之后
模块 node当中的每一个js文件就是一个模块(模块之间相互不联系)
cnpm install 包名 --save(-S) //下载指定的包 如jquery 会在package.json中产生一个
"dependencies": {
"jquery": "^3.3.1"
}//生产环境的依赖
cnpm install 包名 --save-dev(-D) //下载指定的包 如sass-loader 会在package.json中产生一个
"devDependencies": {
"sass-loader": "^7.1.0"
}//开发环境的依赖
可以根据package.json的依赖列表通过他们的版本号在命令行中通过 cnpm i/npm i/ yarn 下载这两个包 而不用下载整个node.modules文件
type a.js //运行a.js这个文件
cd.. //返回当前文件夹的上一级
模块的导出 module.exports={ }
模块的导入 require(路径)
require 一个目录的时候,先找package.json 里main字段指向的文件如果不存在package.json,才会找index.js (package中的main文件可以被修改)