查看版本号:
npm -v升级npm:
npm install --global npm npm i -g npm常用命令:
npm init -y npm i -S 包名 npm un -S 包名 npm help npm 命令 --help原生的 http 在某些方面表现不足以应对我们的开发需求,所以我们就需要使用框架来加快我们的开发效率,框架的目的就是提高效率,让我们的代码更高度统一。
在node 中,有很多 Web 开发框架,我们这里以学习 express 为主。
var express = require('express'); var app = express(); // 当服务器收到 get 请求 / 的时候,执行回调处理函数 app.get('/', function (req, res) { // 在 Express 中可以直接通过 req.query 来获取查询字符串参数 console.log(req.query) res.send('hello express'); }); app.get('/pinglun',funciton(req,res){ // req.query // 在 Epress 中使用模板引擎有更好的方式: res.render ('文件名',{模板对象}) // art-template 结合 Express 来使用 }); // 公开指定目录,只要这样做了,你就可以直接通过 /public/xx 的方式访问 public 目录中的所有资源了 app.use('/public/',express.static('./public/')); // 相当于 server.listen app.listen(3000,function(){ console.log('server is running...'); });安装:
npm install --save expresshello world:
const express = require('express'); const app = express(); app.get('/', (req, res) => res.send('hello express!')); app.listen(3000, () => console.log('app is running on 3000....'))概念:一个端口就是一个路由
路由就是一张表;这个表有具体的映射关系;
get:
// 当你请求 / 的时候,对应相应的功能也就是后面的func app.get('/',funciton (req, res) { res.send('hello world') })post:
// 当你请求 / 的时候,对应相应的功能也就是后面的func app.post('/',funciton (req, res){ res.send('this is post req') })https://github.com/aui/art-template仓库
https://aui.github.io/art-template/中文文档
安装:
npm i -S art-template npm i -S express-art-template配置:
app.engine('art',require('express-atr-template'));使用:
app.get('/',funciton(req, res) { // express 默认回去项目中国的views 中去找 index.html res.render('index.html', { title: 'hello world' }) })如果希望修改默认的 view 视图渲染储存目录,可以:
// 第一个参数 别写错 app.set('views', 目录路径);回到首页
Express 内置了一个API, 可以直接 req.query
req.query在 Express 中没有内置的表单 POST 请求体的 API,这里我们需要使用一个第三方包: body-parser
安装:
npm install body-parser -S配置:
// 注意: 一定配置模板引擎和 body-parser 一定要再 app.user(router) 挂载路由之前 app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json());nodemon 来解决我们频繁修改代码重启服务器问题:
安装:
npm i -g nodemon使用:
nodemon app.js只要是 nodemon 启动的服务,它会自动监视你代码是否改动,改动了自动刷新
文件操作路径:
./data/a.txt 相对于当前目录data/a.txt 相对于当前目录/data/a.txt 绝对路径,当前文件模块所处磁盘根目录c:/data/xx…/a.txt 绝对路径模块操作路径:
// 这里如果忽略了 . 也是磁盘根目录 require('/data/foo.js') // 相对路径 require('./data/foo.js') // 模块加载的路径中的相对路径不能省略 ./案例写不出,笔记又整理的乱。。我太难了 点击跳转Day3——MongoDB+回调地狱讲解