浅谈node.js 从入门到放弃 。
1. 简单了解一下node, node不是一个框架是一个库,官方是这样说的 Node是一个基于Chrome JavaScript 运行在服务端的一个平台,当线程的非阻塞的i/o事件驱动 。
2.会了Node.js 你就可以自己开发项目了 ,例如 服务端渲染的项目 ,也可以是 至于 Vue + Node - express 这样B/S的项目了。、
3.安装Node https://nodejs.org/en/ 自己下载安装
安装成功在CMD 输入 npm -V 就可以看到版本好了。
Node 都一些模块和npm 包
1.path 操作文件的 .
用法都要 用 require 引进来
var fs=require(“fs)
fs模快可以读写文件 是 node内置的模块
读文件 readFile 这个函数的第一个参数是 要读取文件的 url (必填),第二参数是设置获取数据的格式默认是二进制(选填)我们可以设置成"utf8'',也可以不设置把data转换成Json的字符串也可以的
写文件 的函数是 writeFile
fs.writeFile(filename, data, [options], [callback(err)]) filename :文件的名称(没有文件会自动创建) data : 将要写入的内容,可以使字符串 或 buffer数据
fs.writeFile('message.txt', 'Hello Node', function (err) { if (err) throw err; console.log('It\'s saved!'); });
2. 非Node 内置的第三包 express 模块
1. 安装
npm install --save express
2.导入
require app = new express()
这个 包 我们可以用来运行node在服务器和 写 接口
例如我们在本地 监听 3000 的服务 app.js
var express = require('express') var app = express() var server = app.listen(3000, function () { var host = server.address().address var port = server.address().port console.log('应用实例', host, port) })
启动 Node 服务 在app.js 所在文件夹 打开CMD 命令 输入 node app.js 回车
然后在浏览器我们就可以访问一下这样的一个地址,当然什么都没有
下来我们直接用get ,post ,delet put 等的服务
app.get('/', function (req, res) { console.log(req.url, '请求响应') //本地json fs.readFile('./data/city.json', 'utf-8', function (err, data) { // console.log(data.toString(),"异步读取") if (err) { res.send('文件读取失败') } else { res.send(data) } }) })
在访问这个地址 ,我们就可以在CMD里面看到 访问后打印的data 了
app.get() 的第一个参数 / 表示所有的 127.0.0.1:3000 后面默认就是跟这 /
我们也可以 /home 访问的url 就变成了
app.get('/home', function (req, res) { console.log(req.url, '请求响应') //本地json fs.readFile('./data/city.json', 'utf-8', function (err, data) { // console.log(data.toString(),"异步读取") if (err) { res.send('文件读取失败') } else { res.send(data) } }) })
req : 表示request (请求) res : response(响应请求)
在Node 里面模块之间的联系 靠的是 exprot (暴露) 和 require (引入模块)
路由用到express的Router 实例
-
创建路由容器
var router = express.Router()
-
把路由挂到 router 容器中
router.get("/",function(res,req){ })
-
报router向外暴露
modlue.exports = router
app.js
-
导入路由文件
var router = require("./router ")
-
把router 用app.use挂载
app.use(router)
-
第一个参数(可有可无,表示要静态化的文件夹名称,不写默认是 public,地址栏默认的(public)不用加上,更改的要加上)
app.use(“/public/”,express.static("./public"))
atr-templat
-
安装
-
配置
-
app.engine('html', require('express-art-template')); npm install --save art-template npm install --save express-art-template
app.get('/404', function (req, res) { // res.set('Content-Type', 'text/html'); res.render("404.html",{ data:"这个是传过去的参数" }) })
可以在 客户端渲染 html 页面
本文来自博客园,作者:我爱小番茄,转载请注明原文链接:https://www.cnblogs.com/l-y-c/p/12894009.html