日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

完整的node脚手架搭建服务

發布時間:2023/12/18 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 完整的node脚手架搭建服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  使用腳手架來搭建node服務,使用到了express架構,不熟悉的可以看下express官方文檔;http://www.expressjs.com.cn/

  • 使用express直接生成服務的文檔結構目錄
  • express app

  • 在bin/www文件為項目啟動的文件,我們運行node服務,直接npm start運行
  • 在node_modules里為我們項目所需要的第三方包
  • 在public文件中的是我們的靜態資源,如圖片,我們讀取,寫入的文件等
  • 在routes文件則是我們所寫的所有接口文件,建議每個模塊的功能寫在一個文件,便于之后管理
  • 在view文件中則是我們的前端頁面,這里是沒有前后分離的,我們真正寫項目可以不管,里面默認的語法是jade,但是可以設置成ejs的模板語法來寫前端!現在都是前后端分離項目,這個文件基本沒啥作用了
  • app.js則是我們的集合的文件,我們的所有接口的引入,express服務的開啟都在此文件進行,有點類似vue項目的main.js文件
  • 剩下的就是package..json是我們下載的包的管理
  •   

?

  • 在routes文件中寫我們的接口文件
  • var express = require('express'); var router = express.Router(); var mysql = require('mysql'); //引用數據庫 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服務上,也可以每個接口寫成函數的方式暴露出去,運用對象的方式在app.use('/',router.function)調用運行,第一個參數為掛載的路徑,第二個為函數

    ?

  • 在app.js引入我們寫的路由接口
  • var weblist = require('./routes/weblist'); //根據接口所在文件引入 app.use('/list',weblist) //將我們weblist里面的接口掛載在‘/list上面’,當我們訪問的接口名前綴為‘/list’時會自動匹配里面的接口

    ?

  • 記住這里有一個我寫是想了很久的坑,app.use()方法調用時,里面的參數在我們請求接口時,需要把參數帶上,例如請求上面的接口,此時我的前端路徑應為‘http://localhost:3000/list/getweblist’,這樣才能請求到我們的接口,不然會走404;之前我看很多文檔都寫的參數和接口有一致,所以理解為根據參數的路徑去匹配文件里面的接口,后來發現根本沒用,參數的名字是我們任意取得。
  • 對應接口所需的一些包我們也都需要進行安裝和引入使用,大部分都是在app.js引入使用即可,當然對于重復的代碼,例如數據庫的連接等,我們可以做成單獨的文件引入

  

轉載于:https://www.cnblogs.com/xieyong25/p/9597544.html

總結

以上是生活随笔為你收集整理的完整的node脚手架搭建服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。