vue+vux 仿飞猪app火车票部分(五)---城市列表保存到MongoDB数据库并且启用node.js服务

把车站列表保存到数据库,并且从本地创建服务

node.js创建httpserver

1.搭建基于express的运行环境

全局安装express-gengerator

cnpm install -g express-gengerator

2.创建express项目,创建了本地服务

express server

生成server目录,目录下的bin是可执行文件,运行bin下的www文件启动服务

node server/bin/www

启动成功打开浏览器localhost:3000

server下的app.js是入口文件

app.js的配置

var createError = require(‘http-errors‘);
var express = require(‘express‘);
var path = require(‘path‘);
var cookieParser = require(‘cookie-parser‘);
var logger = require(‘morgan‘);
var ejs = require(‘ejs‘);

var index = require(‘./routes/index‘);
var users = require(‘./routes/users‘);
var stations = require(‘./routes/stations‘);

var app = express();

// view engine setup
app.set(‘views‘, path.join(__dirname, ‘views‘));
app.engine(‘.html‘,ejs.__express);
app.set(‘view engine‘, ‘html‘);

app.use(logger(‘dev‘));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, ‘public‘)));

app.use(‘/‘, index);
app.use(‘/users‘, users);
app.use(‘/stations‘, stations);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get(‘env‘) === ‘development‘ ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render(‘error‘);
});

module.exports = app;

安装mongoose

cnpm install mongoose --save

在路由route文件夹下添加stations.js文件

var express = require(‘express‘);
var router = express.Router();
var mongoose = require(‘mongoose‘);
var Stations = require(‘../models/stations‘);

//链接mongodb数据库
mongoose.connect(‘mongodb://127.0.0.1:27017/train‘);

mongoose.connection.on("connected", function(){
    console.log("MongoDB connected success.");
});

mongoose.connection.on("error", function(){
    console.log("MongoDB connected fail.");
});

mongoose.connection.on("disconnected", function(){
    console.log("MongoDB connected disconnected.");
});

router.get("/", function(req,res,next){
    //res.send(‘hello,goods list .‘)
    Stations.find({}, function(err,doc){
        if(err){
            res.json({
                status:‘1‘,
                msg:err.message
            });

        }else{
            res.json({
                status:‘0‘,
                msg:‘‘,
                result:{
                    count:doc.length,
                    list:doc
                }
            })
        }
    })
});

module.exports = router;

server文件夹下新建models文件夹,models下新建stations.js文件

var mongoose = require(‘mongoose‘);
var Schema = mongoose.Schema;

var stationSchema = new Schema({
    "sta_name":String,
    "sta_ename":String,
    "sta_code":String
});

module.exports = mongoose.model(‘Station‘,stationSchema);

最后打开localhost:3000/stations 就可以访问到车站数据了

可以通过接口访问加载了,vue里用axios, 但是这里会存在跨域问题,在vue项目下的config文件下的index.js更改配置

 proxyTable: {
        ‘/stations‘:{
            target:‘http://localhost:3000‘
        }
},

一系列配置之后就能通过axios愉快的访问接口啦~

原文地址:https://www.cnblogs.com/leiting/p/8677904.html

时间: 2024-08-03 23:04:18

vue+vux 仿飞猪app火车票部分(五)---城市列表保存到MongoDB数据库并且启用node.js服务的相关文章

Vue 添加评论,node作后台保存到MongoDB数据库中

成品图 1.在 textarea 中 v-model 双向绑定要添加的数据,并且 button 中绑定方法 2.将from表单绑定的数据挂载到data上 3. methods 中实现方法,将评论内容以参数形式传进 4.node中调用数据库的create方法添加进数据库 原文地址:https://www.cnblogs.com/zhaohui-116/p/12271161.html

攒钱猪APP源码

攒钱猪APP源码,攒钱猪系统开发找梁经理(153微2202电6891),仿陀螺世界模式开发,攒钱猪APP系统开发,攒钱猪软件开发. 新经济是信息化带来的经济文化成果.新经济具有低失业.低通货膨胀.低财政赤字.高增长的特点.通俗地讲,新经济就是我们一直追求的“持续.快速.健康”发展的经济. 陀螺世界模式,每天1元打卡得福猪碎片集齐五行猪合成得攒钱猪可获平台高额分红. 一.攒钱猪打卡收益 ①:每次打卡可获得-一个碎片,用于合成攒钱猪每天分红. ②:任务所得金币加成10% ③:分享打卡领红包 ④:分享

前段时间用java做了个非阻塞式仿飞秋聊天程序

采用Swing 布局 NIO非阻塞式仿飞秋聊天程序, 切换皮肤颜色什么的小功能以后慢慢做 启动主程序. 当用户打开主程序后自动获取局域网段IP可以在 设置 --> IP网段过滤, 拥有 JMF 视频聊天功能(取得视频流读取到ByteBuffer然后写入DatagramChannel), 其实什么功能都是可以加的后期, 简单介绍下 双击用户进行聊天 (第一版是基于channel通道的操作, 非阻塞式, 这一版本为阻塞式) 当有消息发来时自动开启一个线程处理客户端请求并接受数据,并在标题上提示收到新

从金山到小米,看雷军如何一步步成为“飞猪”

文/宋振杰 在风口上飞翔,是一种顺势而为的姿态.杨澜访谈采访雷军时,雷军说:这个时代需要我们顺势而为,只要风口的风足够大,猪也会飞起来.从此"风口"与"飞猪"成为了这两年互联网的热词. 顺势而为最重要的,就是了解未来的发展方向.如果方向错误,你越是努力,离成功越远,离失败越近.顺势而为,才有可能被时代所成就,逆势而为则必定被时代所毁灭.狄更斯曾在<双城记>中描绘他所处的时代:这是最好的时代,这是最坏的时代.对创业者来说也是如此,就看你如何驾驭和把握,雷军

TurboMail邮件系统新客户可获得免费飞邮APP

从即日起,新采购TurboMail邮件系统的客户将有机会免费获得飞邮移动邮件APP的使用资格,客户们请直接联系销售经理了解详情. 飞邮APP是TurboMail邮件系统的专属移动邮件客户端软件,由拓波软件完全自主开发设计,因此在对企业邮件服务器提供卓越的集成和支持功能,经过了近5年的产品发展,现为客户们飞速.简易.丰富的使用体验,使用度极高. 简易:无需配置,输入用户口令,即刻使用 想必大家都及其害怕在使用手机邮箱时,还需要配置SMTP.IMAP.POP3服务器地址吧?繁琐易出错,单位领导还不一

项目记录,仿今日头条app

项目记录,仿今日头条app,五六月份主要做的项目,第一版已经完成上架,二次开发正在进行中

仿一号店APP商品分类效果开发Android版本

昨天我们一起学习了一下一号店(IOS版本)(仿一号店APP商品分类效果开发IOS)商品分类效果编写今天我们一起来看一下Android版本上面的实现.其实我们的实现的具体思路差不多.总体先搞定一级分类,然后二级我们这边使用GridView布局.然后点击一级分类的每一项的时候,动态显示以及隐藏相关的二级分类数据.现在我们来看一下实现的效果. 然后这边还有一点需要介绍的是ViewGrounp的一个动画android:animateLayoutchanges属性.这个属性设置这样就自动地按照默认方式来对

Android项目实战(二十三):仿QQ设置App全局字体大小

原文:Android项目实战(二十三):仿QQ设置App全局字体大小 一.项目需求: 因为产品对象用于中老年人,所以产品设计添加了APP全局字体调整大小功能. 这里仿做QQ设置字体大小的功能. QQ实现的效果是,滚动下面的seekbar,当只有seekbar到达某一个刻度的时候,这时候上部分的效果展示部分会改变文字大小, 但是在拖动过程中字体不会改变.关闭此界面,就可以看到改变文字后app整体的实际文字大小效果了. ----------------------------------------

21小时精通微信小程序开发(仿猫眼电影App、微信小程序问答)|微信小程序开发视频教程

21小时精通微信小程序开发(仿猫眼电影App.微信小程序问答)网盘地址:https://pan.baidu.com/s/1GTpPX4A1U-w_3i6k7lLztQ 密码: 5pcz备用地址(腾讯微云):https://share.weiyun.com/5pzgU1y 密码:nmjyb8 微信小程序是一种不需要下载安装即可使用的应用,它实现了应用"×××"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关心是否安装太多应用的问题.应用