我试图将我的应用划分为子应用,其中服务器文件(app.js)将控制子应用的所有主服务器文件。简而言之 - 我无法运行bin/www
文件,这会在命令行中抛出错误。
主机/ app.js
var express = require('express');
var mongo = require('mongodb');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/loginapp');
var db = mongoose.connection;
//root express
var app = express();
//sub-apps link
var main = require('../app');
// app.use(admin, '/admin');
app.use(main, '/');
//Exports....
module.exports = app;
主机/ bin中/万维网
#!/usr/bin/env node
var app = require('../app');
var port = (process.ENV.port || 8000);
app.set('port', port);
app.listen(app.get('port'), function() {
console.log('listening port on ' + app.get('port'));
});
app.js
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
res.redirect('/index.html');
});
module.exports = app;
App目录结构:
命令行错误:
npm start
gb-english_test@1.0.0 start / home / peace / git / we-gb-short / we-gb 节点Host / bin / www
/home/peace/git/we-gb-short/we-gb/node_modules/express/lib/router/index.js:458 抛出新的TypeError(' Router.use()需要中间件函数,但得到了一个' + gettype(fn)); ^
TypeError:Router.use()需要中间件函数但是有一个字符串 在Function.use(/home/peace/git/we-gb-short/we-gb/node_modules/express/lib/router/index.js:458:13) 在EventEmitter。 (/home/peace/git/we-gb-short/we-gb/node_modules/express/lib/application.js:219:21) 在Array.forEach(native)