詳解在vue中如何使用node.js
在vue中使用node.js。 當(dāng)然具體是使用node.js 的框架express 和mongodb來(lái)完成的。 按照以下我的步驟一步一步來(lái),即可完成在vue中使用自己寫(xiě)的接口完成增刪改查進(jìn)行頁(yè)面交互。
1:需要下載安裝mongodb。并打開(kāi)
2:在vue項(xiàng)目中文件目錄下和src目錄同級(jí)創(chuàng)建一個(gè)文件。如:server 然后再server文件夾下分別創(chuàng)建 1、mongo.js 。2、index.js 。 3、server.js 。 4、package.json
3:開(kāi)始在已經(jīng)創(chuàng)建的文件中加代碼
(1)在 package.json 里面加上以下代碼。示例:
{ "dependencies": { "body-parser": "^1.20.0", "mongoose": "^6.5.0", } }
(2)npm install 補(bǔ)全依賴。生成node_modules 包
(3)在 mongo.js文件中鏈接到mongodb。 示例:
var express = require('express'); var router = express.Router() /* GET home page. */ router.get('/', function (req, res, next) { res.render('index', { title: 'Express' }); }); var mgs = require('mongoose') var url = "mongodb://127.0.0.1:27017/dataList" //連接MongoDB console.log(url) mgs.connect(url, function (err) { if (!err) { console.log('+++++++++') } }) // 數(shù)據(jù)類型 var type = { dateTime: String, ming: String, dizhi: String } var dataLists = mgs.model('dataLists', type) module.exports = dataLists
(4)在 index.js 文件用來(lái)寫(xiě)接口。 示例:
var express = require('express'); var router = express.Router(); let dataLists = require('./mongo') 引入mongo.js 文件 // 添加新增 /list 為自定義接口名 router.post('/list', function (req, res) { var obj = req.body dataLists.create(obj, function (err, result) { if (!err) { res.send(result); } }) }) // 查詢 router.post('/querys', function (req, res) { console.log(req) var obj = req.body dataLists.find(obj, function (err, result) { if (!err) { res.send(result); } }) }) // 修改 router.post('/modify', function (req, res) { console.log(req) var obj = req.body dataLists.findOneAndUpdate({ _id: obj._id }, obj, function (err, result) { if (!err) { res.send(result) } }) }) // 刪除 router.post('/deleds', function (req, res) { var obj = req.body console.log(obj) for (let i = 0; i < obj.length; i++) { dataLists.deleteOne({ _id: obj[i] }, function (err, result) { if (!err) { res.send(result) } }) } }) module.exports = router
(5)在 server.js 中進(jìn)行配置
var express = require('express'); var bodyParser = require('body-parser'); // 創(chuàng)建項(xiàng)目實(shí)例 const app = express(); // 加載路由控制 var routes = require('./index'); // 定義數(shù)據(jù)解析器 // parse application/x-www-form-urlencoded body-parser 插件 數(shù)據(jù)問(wèn)題 app.use(bodyParser.urlencoded({ extended: false })); // parse application/json app.use(bodyParser.json()); // 跨域等 app.all('*', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header('Access-Control-Allow-Headers', ['mytoken', 'Content-Type']); next(); }); // 匹配路徑和路由 app.use('/', routes); app.listen('8080', function () { //此處的8080 需要和vue項(xiàng)目中的target 端口號(hào)后綴一模一樣才可。 console.log("8080"); }) module.exports = app;
(6)最后 需要啟動(dòng)server.js 文件 可以在當(dāng)前文件夾下cmd進(jìn)入命令框然后 node server.js 啟動(dòng)。
(7)mongodb 需要啟動(dòng)服務(wù).
(8)完成以上的之后,就可以在vue頁(yè)面中調(diào)用接口使用了。
比如:
this.$post("list", data).then((res) => { });
總結(jié)
到此這篇關(guān)于在vue中如何使用node.js的文章就介紹到這了,更多相關(guān)vue使用node.js內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Pinia狀態(tài)持久化問(wèn)題
這篇文章主要介紹了關(guān)于Pinia狀態(tài)持久化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-03-03Vue.js中輕松解決v-for執(zhí)行出錯(cuò)的三個(gè)方案
v-for標(biāo)簽可以用來(lái)遍歷數(shù)組,將數(shù)組的每一個(gè)值綁定到相應(yīng)的視圖元素中去,下面這篇文章主要給大家介紹了關(guān)于在Vue.js中輕松解決v-for執(zhí)行出錯(cuò)的三個(gè)方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06vue中ref和e.target的區(qū)別以及ref用法
這篇文章主要介紹了vue中ref和e.target的區(qū)別以及ref用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03vue3 Vite 進(jìn)階rollup命令行使用詳解
這篇文章主要介紹了vue3 Vite 進(jìn)階rollup命令行使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08vue路由history模式頁(yè)面刷新404解決方法Koa?Express
這篇文章主要為大家介紹了vue路由history模式頁(yè)面刷新404解決方法(Koa?Express)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11vue修改props數(shù)據(jù)報(bào)錯(cuò)的問(wèn)題及解決
這篇文章主要介紹了vue修改props數(shù)據(jù)報(bào)錯(cuò)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08vue2利用Bus.js如何實(shí)現(xiàn)非父子組件通信詳解
這篇文章主要給大家介紹了關(guān)于vue2利用Bus.js如何實(shí)現(xiàn)非父子組件通信的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08