详解在vue中如何使用node.js

 更新时间:2023年07月06日 16:08:43   作者:默默无闻的FYH  
这篇文章主要给大家介绍了关于在vue中如何使用node.js的相关资料,vue和nodejs经常让新手们感到困惑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

在vue中使用node.js。 当然具体是使用node.js 的框架express 和mongodb来完成的。 按照以下我的步骤一步一步来,即可完成在vue中使用自己写的接口完成增删改查进行页面交互。

1:需要下载安装mongodb。并打开

2:在vue项目中文件目录下和src目录同级创建一个文件。如:server 然后再server文件夹下分别创建 1、mongo.js 。2、index.js 。 3、server.js 。 4、package.json

3:开始在已经创建的文件中加代码

(1)在 package.json 里面加上以下代码。示例:

{
  "dependencies": {
    "body-parser": "^1.20.0",
    "mongoose": "^6.5.0",
  }
}

(2)npm install 补全依赖。生成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('+++++++++')
    }
})

// 数据类型
var type = { dateTime: String, ming: String, dizhi: String }
var dataLists = mgs.model('dataLists', type)

module.exports = dataLists

(4)在 index.js 文件用来写接口。 示例:

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 中进行配置

var express = require('express');
var bodyParser = require('body-parser');
// 创建项目实例
const app = express();
// 加载路由控制
var routes = require('./index');

// 定义数据解析器
// parse application/x-www-form-urlencoded           body-parser  插件 数据问题
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项目中的target 端口号后缀一模一样才可。
    console.log("8080");
})

module.exports = app;

(6)最后 需要启动server.js 文件 可以在当前文件夹下cmd进入命令框然后 node server.js 启动。

(7)mongodb 需要启动服务.

(8)完成以上的之后,就可以在vue页面中调用接口使用了。

比如:

 this.$post("list", data).then((res) => {
  });

总结

到此这篇关于在vue中如何使用node.js的文章就介绍到这了,更多相关vue使用node.js内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 如何获取this.$store.dispatch的返回值

    如何获取this.$store.dispatch的返回值

    这篇文章主要介绍了如何获取this.$store.dispatch的返回值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 关于Pinia状态持久化问题

    关于Pinia状态持久化问题

    这篇文章主要介绍了关于Pinia状态持久化问题,具有很好的参考价值,希望对大家有所帮助。
    2023-03-03
  • Vue.js中轻松解决v-for执行出错的三个方案

    Vue.js中轻松解决v-for执行出错的三个方案

    v-for标签可以用来遍历数组,将数组的每一个值绑定到相应的视图元素中去,下面这篇文章主要给大家介绍了关于在Vue.js中轻松解决v-for执行出错的三个方案,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • vue项目如何引入公共头部底部

    vue项目如何引入公共头部底部

    这篇文章主要介绍了vue项目如何引入公共头部底部问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue中ref和e.target的区别以及ref用法

    vue中ref和e.target的区别以及ref用法

    这篇文章主要介绍了vue中ref和e.target的区别以及ref用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue3 Vite 进阶rollup命令行使用详解

    vue3 Vite 进阶rollup命令行使用详解

    这篇文章主要介绍了vue3 Vite 进阶rollup命令行使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vue路由history模式页面刷新404解决方法Koa Express

    vue路由history模式页面刷新404解决方法Koa Express

    这篇文章主要为大家介绍了vue路由history模式页面刷新404解决方法(Koa Express)详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • vue修改props数据报错的问题及解决

    vue修改props数据报错的问题及解决

    这篇文章主要介绍了vue修改props数据报错的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • vue2利用Bus.js如何实现非父子组件通信详解

    vue2利用Bus.js如何实现非父子组件通信详解

    这篇文章主要给大家介绍了关于vue2利用Bus.js如何实现非父子组件通信的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-08-08
  • Vue DPlayer详细使用教程含遇到坑

    Vue DPlayer详细使用教程含遇到坑

    Vue-DPlayer是一个易于使用、高性能的基于Vue.js的视频播放器组件,本文给大家介绍Vue DPlayer详细使用,本文将从四个方面对Vue-DPlayer进行详细的阐述,感兴趣的朋友一起看看吧
    2023-10-10

最新评论