1、安装node
node安装好之后可以在cmd命令查看版本
查看node版本:node -v
效果:
2、创建node项目:
创建文件夹study
在cmd窗口进入study文件夹
cmd :npm init -y 初始化node项目
效果:
会在study文件中创建一个:
3、运行node文件
在study下创建一个index.js文件并写入console.log(“你好node”);
可以用下面两种方法运行:
1、 cmd /app: node index.js
2、 在生产的packge.json文件中添加配置:
配置: “scripts”: {
“serve”:“node index.js”,
“test”: “echo “Error: no test specified” && exit 1”
},
npm run serve 运行
运行效果:
4、npm包管理器,用于安装第三方库
cmd /app:
安装:
npm i pkg1 pkg2 pkg3 局部安装
npm i pkg -g 全局安装
npm root view -g 查看全局安装目录
npm i pkg -D 开发时使用
npm i pkg -S 开发和上线后都使用
npm i pkg@版本 指定版本安装
npm list 查看插件
卸载:
npm uninstall pkg
npm remove pkg
npm r jquery
更新:
npm view jquery versions 查看历史版本
npm update jquery
安装和卸载帮助命令: 》
npm install -h
npm uninstall -h
这些方法可以自行尝试,用安装与卸载示例:
效果:
下载:
下载之后就会在study下出现一个文件加来存放下载的一些内容
删除:
jquery文件被删除:
5、设置淘宝镜像
cmd 管理员:
npm config set registry http://registry.npm.taobao.org/
npm config get registry 查看下载源
下载的时候会从国外的网站去下载会比较慢可以添加一个国内的网址,这样速度就会变快
在cmd命令输入确定即可
6、版本介绍:
^3.1.0,版本更新最大不超过4.0.0
3.1.0:无法更新
X.Y.Z
X:大版本,不兼容的更新
Y:中版本,增加一些新内容
Z:小版本,修复了一些小bug
7、目录介绍:
1、node_modules:所有依赖包的地址
2、package.json:项目相关配置
3、 scripts:当前项目有哪些命令
4、dependencies:当前项目有哪些依赖
5、package-lock.json:所有依赖包的缓存地址,下次下载会加快
6、npm i : 会下载所有之前的缓存依赖包
8、模块使用
pkg为下载插件或其他
一、 第三方模块
先下载 npm i pkg
下载一个 axios
后使用 var pkg=require(‘pkg’)
二、内置模块
var fs=require(‘fs’)
var http=require(‘http’)
使用方法:
在index.js中写入:
var http=require("axios");
http.get('https://520mg.com/mi/list.php?page=1')
.then(res=>{
console.log(res.data.summary);
}).catch(err=>{
console.log(err);
})
运行效果:
三、自定义模块
自己创建模块
示例:
在study下创建一个test.js文件并写入:
module.exports={
max:function(a,b){
return Math.max(a,b);
},
min:function(a,b){
return Math.min(a,b);
}
}
index写入:
//3、使用自定义模块
let test=require("./test");
console.log(test.max(3,6));
console.log(test.min(3,6));
//利用解构
let {max,min}=require("./test");
console.log(max(3,6));
console.log(min(3,6));
9、文件读写
读:
先创建一个在study下的qiku.txt文件并写入你好奇酷!
同步读取
// 1、同步读取
var fs = require('fs');
console.log(1);
var res=fs.readFileSync("./qiku.txt",'utf-8');
console.log(res);
console.log(2);
效果:
异步读取
//2、异步读取\
var fs = require('fs');
console.log(6);
fs.readFile('./qiku.txt','utf-8',function(err,res){
//吐过没有错误结果
if(!err){
console.log(res);
}
})
console.log(8);
同步写:
在study下创建一个空的txt文件
//同步写
var fs = require('fs');
console.log(11);
fs.writeFileSync('./test2.txt','web大前端');
console.log(22);
输出就会在空的txt文件写入内容
异步写
//异步写
var fs=require('fs')
console.log(66);
fs.writeFile('./test2.txt','node.js',function(err){
if(!err){
console.log("写入成功");
}
})
console.log(88);
10、服务搭建
搭建之后的访问方式:
localhost:8888
127.0.0.1:8888
192.168.13.8:8888
查看本机ip:ipconfig
停止服务:ctrl+c
//引入http模块
let http = require('http');
//创建服务
// req:request请求; res:response响应
let server = http.createServer(function(req, res) {
res.statusCode = 200; //正确的状态吗
//设置请求头
res.setHeader('Content-Type', 'application/json;charset=utf-8')
//给前端的响应结果
res.end(`{"errCode":0,"msg":"web前端"}`);
})
//开启服务
server.listen(8888, function() {
console.log("服务启动成功");
})
获取http后面的问号后面的内容
//引入http模块
let http = require('http');
//引入url:获取路由参数 npm i url
let url = require('url');
//创建服务
// req:request请求; res:response响应
let server = http.createServer(function(req, res) {
//从请求中拿到路由参数
let params = url.parse(req.url);
res.statusCode = 200; //正确的状态吗
//设置请求头
res.setHeader('Content-Type', 'application/json;charset=utf-8')
//给前端的响应结果
res.end(`{"errCode":0,"msg":"${params.search}"}`);
})
//开启服务
server.listen(8888, function() {
console.log("服务启动成功");
})
效果: