1.NPM版本
无须更新到最新,怕错误
2.製作专案package.json
npm init
npm init -y (全预设值)
(1)新增资料夹
(2)
(3)製作 package.json
只是个说明档,但专案模组被删除时
利用 >npm install 会依照package.json抓回模组
方便用~~
3.安装模组
npm install ip
npm install express
package-lock.json 可以看到装了甚么
4.安装参数简介
npm install bootstrap@4 @版本
npm uninstall bootstrap 解除安装
5.package.json run
建立 app.js、app.js、app3.js
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev":"node app2.js", "setup":"node app3.js" },
只能用run
npm run dev
npm run setup
"scripts": { "start": "node app.js", },
start都可以用
npm start
npm run start
6.装ip MOD 检视IP
npm install ip
var ip = require("ip"); var result = ip.address(); console.log(result);
node app.js
7.常用套件简介
express : 建立Web服器最常见的套件
body-parser : 协助Exprs解析表单与JON资料
cors : 协助进行跨来源资源共用(COR)在HTTP回应的标区加入Access-Control-Allow-Origin声明
mysql : 连线MySQL 资料库伺服存取资料的套件
ejs : 可搭配Express,一套U画面处理引擎
8.^是甚么?,可以使用到哪个版本
"dependencies": { "express": "^4.17.1", "ip": "^1.1.5" }
版本:
1.2.3
2.1.1
Major.Function.buildNumber
新版本.新增功能.製作Number
^山、~波
较宽鬆(通常)
^1.2.3
1.5.6(v)
1.999999(v)
2.0(X)
较严谨
~1.2.3
1.2.4
1.2.5
1.2.9999
1.3(X)
9.HTTP
请求方法:
GET
POST
HEAD
PUT
DELETE
TRACE
OPTIONS
CONNECT
10.建立HTTP Server(express套件使用)
var http = require('HTTP'); //建立http物件 var server = http.createServer(function (req, res) { //成功 //res.write搭配writeHead档案类型 res.writeHead(200, ('Content-Type': 'text/html'J); res.write('Node.js'); res.end('Hello World'); }); server.listen(80);
11.nodemon 即时更新看code
1.选CND(重要***************在上方选)
npm install nodemon -g (-g全域安装)
C:\XXX\Node.js\Lab0809npm>npm install nademon -g
nodemon app.js
12.抓路径
//使用express套件 var express = require("express"); var app = express(); app.listen(3000); //1.使用3000 app.get("/", function (req, res) { res.send("OK, Home page...."); })
中介程式辅助:express.static
// Pipeline, step 1 var aMiddleWare = express.static("./public"); app.use( aMiddleWare )
使用中介
// Pipeline, step 2 app.use("/member", member);
路由:Router
var member = express.Router(); member.get("/new", function (req, res) { res.send("Member New...") }) member.get("/login", function (req, res) { res.send("Member Login") })
port号3000/中介使用/路由器
http://localhost:3000/member/new
http://localhost:3000/member/login
13.去大型化(页面程式码减少、收纳路由器)
主程式、中介index.js:static require
var express = require("express"); var app = express(); app.listen(3000); // Pipeline, step 1 var aMiddleWare = express.static("./public"); app.use( aMiddleWare ) // Pipeline, step 2 var member = require("./member.js"); app.use("/member", member); // http://localhost:3000/member/new // http://localhost:3000/member/login
副程式member.js: Router
var express = require("express"); var member = express.Router(); member.get("/new", function (req, res) { res.send("Member New... V2") }) member.get("/login", function (req, res) { res.send("Member Login V2") }) module.exports = member;
14. use v.s get
1.get 直接指定 (特定路径) (较小) => 简单路由2.use 可以广泛运用 (较大,抓中介:static、Router) =>模组化路由
var r = express.Router() r.get('/login',function(req,res){}) r.get('/new',function(req,res){}) app.use('/member',r)
exit 关闭终端机
ctrl+C 关闭使用套件 or 重新输入指令
常备药
npm init -y
npm install express
nodemon index.js
var express = require("express");
var app = express();
app.listen(3000);