我想从服务器上分离路由.js文件.

我正在关注这篇关于苏格兰威士忌的教程.木卫一

如果所有线路都在服务器上,它就可以工作.js文件.但我没能分开.我怎样才能做到这一点?

服务器js

// set up ======================================================================
var express = require('express');
var app = express();
var bodyParser = require('body-parser');

// configuration ===============================================================
app.use(bodyParser());

var port = process.env.PORT || 8000;

var mongoose = require('mongoose');
var database = require('./config/database');
mongoose.connect(database.url);
var Video = require('./app/models/video');

// routes =======================================================================
app.use('/api', require('./app/routes/routes').router);

// listen (start app with node 服务器js) ======================================
app.listen(port);
console.log("ready captain, on deck" + port);

module.exports = app;

以及应用程序/路由/路由.js

var express = require('express');
var router = express.Router();

router.use(function(req, res, next) {
  console.log('Something is happening.');
  next();
});

router.get('/', function(req, res) {
  res.json({ message: 'hooray! welcome to our rest video api!' });  
});


router.route('/videos')

  .post(function(req, res) {

    var video = new Video();
    video.title = req.body.title;

    video.save(function(err) {
  if (err)
    res.send(err);

  res.json({ message: 'Video criado!' });
});


  })

  .get(function(req, res) {
    Video.find(function(err, videos) {
      if (err)
        res.send(err);

      res.json(videos);
    });
  });

module.exports.router = router;

推荐答案

就从主文件中分离路由而言..

Server.js

//include the routes file
var routes = require('./routes/route');
var users = require('./routes/users');
var someapi = require('./routes/1/someapi');

////////
app.use('/', routes);
app.use('/users', users);
app.use('/1/someapi', someapi);

routes/route.js

//last line - try this
module.exports = router;

对于新项目,也可以在命令行上try

express project_name

你需要快速发电机

Node.js相关问答推荐

需要关于基于角色授权的设计建议

MongoDB-如何验证Document字段以仅允许特定的文件扩展名?

编辑Mongoose中的对象嵌套数组

带有apache Couch-db和Nano的推荐引擎:过滤特定用户的视图

条件内的表达式

EJS ForEach循环标记

mongodb首先自连接,然后根据某些条件与另一个表连接

NodeJS:zlib.gzipSync 在不同平台上给出不同的明文输出

bcrypt.compare 每次都返回 false

使用更新版本仍然找到包@angular/fire但不支持原理图

ResponseError:键空间ks1不存在

对 google api v3 的 Axios 请求返回加密(?)数据

为什么我的react 表单不能正常工作?

如何监控 node.js 上的网络,类似于 chrome/firefox 开发者工具?

__dirname 未在 Node 14 版本中定义

名称类型为 mongoose 的字段

使用 Monit 而不是基本的 Upstart 设置有什么好处?

在 Node.js 中写入 CSV

如何在 node.js 沙箱中安全地运行用户提交的脚本?

大型项目的 NodeJS vs Play 框架