什么是node.js?
- node.js是基于v8引擎的javascript运行环境
- node.js使用了一个事件驱动、非阻塞I/O的模型、使其轻量又高效
- node.js的包管理器是npm,是全球最大的开源库生态系统
我对node.js的理解
- 让javascript可以做后端的开发,即一门语言搞定前后端,即全栈。
mac 上node.js环境的安装与测试
一:安装
- 第一步:打开终端,输入以下命令安装Homebrew
- 第二步:安装node,在终端输入以下命令
brew install node
- 第三步 查看node安装成功与否
node -v
- 以上三步 node就安装成功了
二:测试
- 第一步:新建一个文件test.js
- 第二步:输入一些js代码
- 第三步:通过终端访问
- 第四步:安装nodemon实现自动更新
三:node.js模块
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/module.jpg)
3.1内置node.js模块的使用
- 第一步:新建一个文件server.js
- 第二步:用终端找到其所在的目录运行,输入如下代码:
var http = require('http');
var data = {key:'value',hello:'hello'};
var srv = http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'application/json'});
res.end(JSON.stringify(data))
});
srv.listen(3000,function(){
console.log('server success,请访问http://localhost:3000')
})
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/test.jpg)
- 第三步:通过浏览器进行访问,返回json格式的数据
- 第四步:前端就可以通过调用这个接口进行数据解析了,并且可以在当前页面进行数据展示了.
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/brown.jpg)
3.2 第三方node.js模块的使用
- 第一步:在终端输入以下命令,安装一个第三方的模块
npm install request --save
- 第二步:新建一个文件server2.js,输入如下代码:
const request = require('request')
request({
url:'https://tianqiapi.com/api?version=v9&appid=43284819&appsecret=QeAM1mar',
json:true
},(err,res,body) => {
console.log('err'+err)
console.log('res'+res)
console.log('body'+JSON.stringify(body,null,2))
})
- 第三步:在控制台就可以看到接口返回的信息,如图
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/server2.jpg)
3.3 自定义node.js模块的使用
- 第一步:创建一个src文件夹,在该目录下创建一个文件customize.js,输入如下代码:
function add(a,b){
return a+b
}
module.exports = {add}
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/da.jpg)
- 第二步:创建一个文件module.js,输入如下代码:
const customize = require('./src/customize.js');
console.log(customize.add(1,2));
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/cd.jpg)
- 第三步:用终端找到其所在的目录运行
![](https://git.belstar.com.cn/bel-star/mis/xian/intern/raw/Cindy/node/img/cds.jpg)
node初识就介绍这么多!