0

我想为我的 Node.js 应用程序设置一些子域。我已经用 express.js 构建了我的网站,现在我只想在我的网站的子域上抛出一个小网络工具。我尝试过使用 vhost 中间件,但运气不佳,但我对其他方法持开放态度。

任何帮助都会摇滚!

理想情况下,我可以在子目录中放置一个新的快速应用程序,更改几行代码,也许更改一些 DNS 设置就可以了。我喜欢这个的原因是我可以使用新的布局和 css 样式等重用手写笔和玉石的新实例。

这是我的普通 app.js,注释行是使用 vhost 的尝试。

var express = require('express'),
    routes = require('./routes');

var app = module.exports = express.createServer();

// Configuration
app.configure(function() {
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.set('view options', { layout: false });
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use('/courses', function (req, res, next) {
    var privates = require('./.private.json'),
        couch = require('nano')('https://' + privates.dbCreds.username + ':' + privates.dbCreds.password + '@wamoyo.iriscouch.com/');

  });
  app.use(require('stylus').middleware({
    src: __dirname + '/public'
  }));
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
  // VHOST - SUBDOMAIN
  // app.use(express.vhost('adventures.innovationbound.com', require('./adventures/index').app));
  app.use(function (req, res, next) {
    res.status(404);
    res.render('four', {
      title: "Innovation Bound",
      now: new Date().getFullYear()
    });
  });
  app.use(function (err, req, res, next){
    console.error(err.stack);
    res.send(500, 'Something broke!');
  });
});

app.configure('development', function() {
  app.use(express.errorHandler({
    dumpExceptions: true,
    showStack: true
  }));
});

app.configure('production', function() {
  app.use(express.errorHandler());
});

// Routes
app.get('/', routes.index);
app.get('/about', routes.about);
app.get('/services', routes.services);
app.get('/events', routes.events);
app.get('/blog', routes.blog);
app.post('/contact', routes.contact);

// Courses
// app.get('/heartbeat', routes.heartbeat);
app.get('/courses', routes.courses);

// Tools
app.get('/point', routes.point);

app.listen(3000, function() {
  console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});

这是使用 express 2.5,如果需要,我不介意迁移到 3。

4

0 回答 0