完整的node脚手架搭建服务
生活随笔
收集整理的這篇文章主要介紹了
完整的node脚手架搭建服务
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用腳手架來搭建node服務(wù),使用到了express架構(gòu),不熟悉的可以看下express官方文檔;http://www.expressjs.com.cn/
- 使用express直接生成服務(wù)的文檔結(jié)構(gòu)目錄
- express app
- 在bin/www文件為項(xiàng)目啟動(dòng)的文件,我們運(yùn)行node服務(wù),直接npm start運(yùn)行
- 在node_modules里為我們項(xiàng)目所需要的第三方包
- 在public文件中的是我們的靜態(tài)資源,如圖片,我們讀取,寫入的文件等
- 在routes文件則是我們所寫的所有接口文件,建議每個(gè)模塊的功能寫在一個(gè)文件,便于之后管理
- 在view文件中則是我們的前端頁(yè)面,這里是沒有前后分離的,我們真正寫項(xiàng)目可以不管,里面默認(rèn)的語(yǔ)法是jade,但是可以設(shè)置成ejs的模板語(yǔ)法來寫前端!現(xiàn)在都是前后端分離項(xiàng)目,這個(gè)文件基本沒啥作用了
- app.js則是我們的集合的文件,我們的所有接口的引入,express服務(wù)的開啟都在此文件進(jìn)行,有點(diǎn)類似vue項(xiàng)目的main.js文件
- 剩下的就是package..json是我們下載的包的管理
?
- 在routes文件中寫我們的接口文件
- var express = require('express');
var router = express.Router();
var mysql = require('mysql'); //引用數(shù)據(jù)庫(kù)
var connection = mysql.createConnection({host: 'localhost',user: 'root',password: '',database: 'node_test',
});
router.get('/getweblist', function (req, res) {var sql = "select * from webList"connection.query(sql, function (error, result, fields) {res.send(result)})
});
module.exports = router //將接口暴露出去,以便在app.js掛在app服務(wù)上,也可以每個(gè)接口寫成函數(shù)的方式暴露出去,運(yùn)用對(duì)象的方式在app.use('/',router.function)調(diào)用運(yùn)行,第一個(gè)參數(shù)為掛載的路徑,第二個(gè)為函數(shù)
?
- 在app.js引入我們寫的路由接口
- var weblist = require('./routes/weblist'); //根據(jù)接口所在文件引入
app.use('/list',weblist) //將我們weblist里面的接口掛載在‘/list上面’,當(dāng)我們?cè)L問的接口名前綴為‘/list’時(shí)會(huì)自動(dòng)匹配里面的接口
?
- 記住這里有一個(gè)我寫是想了很久的坑,app.use()方法調(diào)用時(shí),里面的參數(shù)在我們請(qǐng)求接口時(shí),需要把參數(shù)帶上,例如請(qǐng)求上面的接口,此時(shí)我的前端路徑應(yīng)為‘http://localhost:3000/list/getweblist’,這樣才能請(qǐng)求到我們的接口,不然會(huì)走404;之前我看很多文檔都寫的參數(shù)和接口有一致,所以理解為根據(jù)參數(shù)的路徑去匹配文件里面的接口,后來發(fā)現(xiàn)根本沒用,參數(shù)的名字是我們?nèi)我馊〉谩?/li>
- 對(duì)應(yīng)接口所需的一些包我們也都需要進(jìn)行安裝和引入使用,大部分都是在app.js引入使用即可,當(dāng)然對(duì)于重復(fù)的代碼,例如數(shù)據(jù)庫(kù)的連接等,我們可以做成單獨(dú)的文件引入
轉(zhuǎn)載于:https://www.cnblogs.com/xieyong25/p/9597544.html
總結(jié)
以上是生活随笔為你收集整理的完整的node脚手架搭建服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css3 loading 效果1
- 下一篇: TCP连接与释放