在app.use (NODE.JS)中传递参数

passing arguments right in app.use (NODE.JS)

本文关键字:参数 JS app use NODE      更新时间:2023-09-26

>我试图理解为什么代码 1 有效,为什么 2 不起作用。

应用.js:

// Routes
var server = require('./routes/server');
app.use('/', server);

路线.js:

var express     = require('express');
var resource    = require('express-resource');
var server = express();
server.resource('exampleserver', require('../controllers/example'));
module.exports = server;

好的,工作得很好。

当我尝试将所有内容传递给一个文件时,服务器将中断:

应用.js:

    var express     = require('express');
    var resource    = require('express-resource');
    var server = express();

// Routes
app.use('/', resource('exampleserver', require('./controllers/example')));

这将出现在终端中:

/Users/marceloalves/Desktop/MVC-Structure/node_modules/express-resource/index.js:63
    if (actions[key]) this.mapDefaultAction(key, actions[key]);
                           ^
TypeError: Object #<Object> has no method 'mapDefaultAction'
    at Resource (/Users/marceloalves/Desktop/MVC-Structure/node_modules/express-resource/index.js:63:28)
    at Object.<anonymous> (/Users/marceloalves/Desktop/MVC-Structure/app.js:40:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

谁能帮我一把?哈哈

在第二个示例中,您不使用 server.resource() ,而是直接调用 resource()。试试这个:

app.use('/', server.resource('exampleserver', require('./controllers/example')));