Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用MVC并在我的节点应用程序中包含文件_Javascript_Node.js_Model View Controller - Fatal编程技术网

Javascript 如何使用MVC并在我的节点应用程序中包含文件

Javascript 如何使用MVC并在我的节点应用程序中包含文件,javascript,node.js,model-view-controller,Javascript,Node.js,Model View Controller,我有一个节点应用程序,我有三个文件,我正试图以MVC模式构建我的节点 我想要一种方法,将我的所有需求和变量放入我的server.js中,将我的routes.js中的所有路由和我的controller.js中的函数放入我的中 我的路由器运行良好。 如何在我的服务器文件中包含控制器的功能 我有: server.js var configure=require('./路由器'); var express=需要(“express”); var-app=express(); var port=pro

我有一个节点应用程序,我有三个文件,我正试图以MVC模式构建我的节点

我想要一种方法,将我的所有需求和变量放入我的server.js中,将我的routes.js中的所有路由和我的controller.js中的函数放入我的

我的路由器运行良好。 如何在我的服务器文件中包含控制器的功能

我有:

  • server.js
var configure=require('./路由器');
var express=需要(“express”);
var-app=express();
var port=process.env.port | | 8080;
//获取路由器的一个实例
var router=express.router();
配置(路由器);
var请求=要求(“请求”);
var nodePardot=require('node-pardot');
var bodyParser=require('body-parser');
var rp=要求(“要求-承诺”);
//启动服务器
app.listen(端口);
app.use(bodyParser.json());//支持json编码的实体
app.use(bodyParser.urlencoded({extended:true}));//支持编码体
console.log('测试服务器已启动!位于http://localhost:“+端口);//确认服务器启动
//
////启动服务器
// // ==============================================
app.listen(端口);
console.log('服务器已启动!!'+端口);
//将路由应用于我们的应用程序

应用程序使用(“/”,路由器)这非常简单,请使用与您在router.js中应用的相同逻辑

在controller.js中使用如下内容:

exports.function_name = function(params, ...){
. . .
}
然后通过导入controller.js访问这些函数

var controller = require('./controller.js');
controller.function_name(param..)   # execute with required params and callback
如果要返回对象,则可以执行module.exports

module.exports = Promise.all([firstFunction(), secondFunction()]) .then(thirdFunction);
控制器对象现在包含一个承诺

var controller = require('./controller.js');
控制器对象可以直接用作承诺,现在无需调用函数

一个更好的选择是从controller.js导出所有函数,然后在app.js中您可以使用它们

Promise.all([controller.firstFunction(), controller.secondFunction()]) .then(controller.thirdFunction);

我抓到你了,我以前也试过,但没能开始工作。我再试一次。谢谢如果你能提到你之前经历过的错误那就太棒了是的,你是对的。如果有错误,我会再试一次。如果没有错误,我会更新答案。如果仍然不起作用,我会接受你的答案。查看编辑,然后让我知道。很好,我会再试一次,然后让你知道。如果我使用
module.exports=Promise.all([firstFunction(),secondFunction()]),然后使用(thirdFunction)控制器吗?(Promise.all([firstFunction(),secondFunction()])。然后(thirdFunction))