(精華)2020年7月10日 Node.js express(router路由的使用)
可掛載路由
var express = require('express');
var router = express.Router(); //可掛載路由處理程式
// 路由器的中介軟體
router.use(function timeLog (req, res, next) {
console.log('Time: ', Date.now())
next()
})
// 首頁路由
router.get('/home', function (req, res) {
res.json({
home:'Birds home page'
})
})
// 關於我們
router.get('/about', function (req, res) {
res.json({
about:'About birds'
})
})
module.exports = router;
引用可掛在路由
const express = require('express');
const cors = require('cors');
const path = require('path');
const app = express();
// /* 自己封裝跨域中介軟體 */
// app.use('*',function (req, res, next) {
// res.header('Access-Control-Allow-Origin', '*'); //這個表示任意域名都可以訪問,這樣寫不能攜帶cookie了。
// //res.header('Access-Control-Allow-Origin', 'http://www.baidu.com'); //這樣寫,只有www.baidu.com 可以訪問。
// res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');//設定方法
// if (req.method == 'OPTIONS') {
// res.send(200); // 意思是,在正常的請求之前,會傳送一個驗證,是否可以請求。
// }
// else {
// next();
// }
// });
//使用cors跨域中介軟體
app.use(cors());
var birds = require('./routers/birds.js');
// app.Method(path,hander)
// METHOD: get,post,delete,put
//path : 路由
//hander:匹配到路由時 執行函式
// Express 在靜態目錄查詢檔案,因此,存放靜態檔案的目錄名不會出現在 URL 中。
// 如果要使用多個靜態資源目錄,請多次呼叫 express.static 中介軟體函式
// http://localhost:3003/index.html
app.use(express.static('public'))
app.use(express.static('public2'))
// 靜態函式,為靜態目錄指定一個掛載路徑,如下所示
// app.use('/static', express.static(path.join(__dirname, 'public')));
app.use('/html', express.static(path.join(__dirname, 'html')));
//訪問的連結 :http://localhost:3003/html/index.html
app.get('/', (req, res) => res.send('Hello World!'))
// app.post('/info', (req, res)=>{
// res.send('Hello World!')
// })
// app.get('/info', (req, res)=>{
// res.send('Hello World!')
// })
// app.delete('/info', (req, res)=>{
// res.send('Hello World!')
// })
// app.put('/info', (req, res)=>{
// res.send('Hello World!')
// })
app.use('/birds', birds);
app.route('/info')
.get(function (req, res) {
res.send('Get a random book')
})
.post(function (req, res) {
res.send('Add a book')
})
.put(function (req, res) {
res.send('Update the book')
})
app.listen(3003, () => console.log('Example app listening on port 3003!'))
相關文章
- Node.js學習之路27——Express的router物件Node.jsExpress物件
- (精華2020年5月8日更新) vue教程篇 vue-router路由的使用Vue路由
- [精讀原始碼系列]前端路由Vue-Router原始碼前端路由Vue
- (精華2020年5月8日更新) vue教程篇 vue-router路由的許可權控制Vue路由
- 使用react-router-config配置路由React路由
- (精華)2020年7月14日 vue vue-router動態路由的實現許可權控制Vue路由
- Node.js Express 框架Node.jsExpress框架
- express 精讀Express
- 淺談Vue-router使用方法及動態路由和巢狀路由的使用Vue路由巢狀
- vue 路由vue RouterVue路由
- express原始碼分析-路由Express原始碼路由
- react使用react-router-config 進行路由配置React路由
- react router路由傳參React路由
- Node.js之Express詳解Node.jsExpress
- angular當router使用userhash:false時路由404問題AngularFalse路由
- Express基礎瞭解—路由Express路由
- react-router4.2使用js控制路由跳轉的3種方式ReactJS路由
- 初識NodeJS-使用Express框架路由和中介軟體NodeJSExpress框架路由
- vue-router 巢狀路由Vue巢狀路由
- vue-router路由基礎Vue路由
- 如何使用Node.js、TypeScript和Express實現RESTful API服務Node.jsTypeScriptExpressRESTAPI
- 12、Node.js 路由Node.js路由
- Node.js學習之路25——Express的request物件Node.jsExpress物件
- Express原始碼學習-路由篇Express原始碼路由
- 在express中使用ES7裝飾器構建路由Express路由
- vue筆記-6 vue中router路由 路由引數的傳遞 巢狀路由Vue筆記路由巢狀
- vue-router 原始碼:路由模式Vue原始碼路由模式
- vue-router 原始碼:前端路由Vue原始碼前端路由
- Node.js學習之路24——Express框架的app物件Node.jsExpress框架APP物件
- 精讀《React Router v6》React
- vue router路由自定義後退事件Vue路由事件
- React初識整理(四)–React Router(路由)React路由
- vue router 引入多個路由檔案Vue路由
- vue-router控制路由許可權Vue路由
- vue全家桶 ---vue-router路由篇Vue路由
- 3 vite vue-router 路由巢狀ViteVue路由巢狀
- Vue Router 4與路由管理實戰Vue路由
- React路由 基礎:react-router-domReact路由