作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有这个代码:
var express = require("express");
var app = express();
var path = require("path");
app.use(express.static(__dirname + '/public'));
app.get('/',function(req,res){
res.sendFile(path.join(__dirname+'/views/index.html'));
res.set('Access-Control-Allow-Origin', '*');
}).listen(3000);
console.log("Running at Port 3000");
app.get('/test', function(req, res) {
res.json(200, {'test': 'it works!'})
})
我将有很多服务(比如 test
服务),我不想将它们全部放在同一个文件中。
我在 Stack Overflow 中读到另一个问题,我可以像这样要求其他文件:var express = require("./model/services.js");
然后在该文件中写入所有内容服务,但是当我启动 Node 时它抛出 app is not defined
。
如何分隔代码?
最佳答案
您可以在不同的文件中定义您的路由,例如 test-routes.js,如下所示:
module.exports = function (app) {
app.get('/test', function(req, res) {
res.json(200, {'test': 'it works!'})
})
}
现在在你的主文件中说 server.js 你可以像这样导入你的路由文件:
var express = require("express");
var app = express();
var path = require("path");
app.use(express.static(__dirname + '/public'));
app.get('/',function(req,res){
res.sendFile(path.join(__dirname+'/views/index.html'));
res.set('Access-Control-Allow-Origin', '*');
}).listen(3000);
console.log("Running at Port 3000");
// import your routes
require('./test-routes.js')(app);
关于javascript - 如何将 Node.js 文件拆分为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33946972/
我是一名优秀的程序员,十分优秀!