如何将Node.js文件拆分为多个文件
How to split Node.js files in several files
我有这个代码:
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);
您的test.js
应该看起来像:
var express = require('express');
var router = express.Router();
router.get('/test', function (req, res) {
res.json(200, {'test': 'it works!'});
});
module.exports = router;
和app.js
(假设other是类似于test.js定义的其他路由):
var test = require("./routes/test.js");
var other = require("./routes/other.js");
...
//all your code for creating app
...
app.use('/test', test);
app.use('/other', other);
相关文章:
- webpack代码拆分了handlerbs文件——结果是文件很大
- 将AngularJS控制器拆分为多个文件
- 使用JavaScript或jQuery拆分文件
- 如何在Gulp任务中拆分文件
- 如何拆分从 json 文件中读取的数据
- 读取制表符分隔的文件,逐行读取,而不是使用制表符分隔拆分每一行
- Typescript 0.9.1.1模块被拆分为几个.ts文件
- angular js:将一个大型控制器拆分为多个文件
- 加载静态HTML文件并按类拆分为数组
- KineticJS - 如何拆分对象和文件
- 如何在多个文件中拆分 JavaScript 对象定义
- 未捕获的语法错误:意外令牌非法 - 拆分文件时
- 拆分要使用角度上传的大文件
- 使用 require.js 将应用程序的 javascript 拆分为多个 JS 文件
- 将大型 JSON 文件拆分为多个文件
- Node.js将大文件拆分为多个部分,并对这些部分进行迭代
- 如何将Node.js文件拆分为多个文件
- 跨文件拆分AngularJS模块服务
- 将大型typescript文件拆分为跨多个文件的模块
- 如何将Jquery.js文件拆分为多个文件