gpt4 book ai didi

node.js - Connect 和 Express 实用程序

转载 作者:搜寻专家 更新时间:2023-10-31 22:46:28 24 4
gpt4 key购买 nike

我是 Node.js 世界的新手

根据这个主题:What is Node.js' Connect, Express and “middleware”?
我了解到 ConnectExpress 的一部分

我深入研究了代码,发现了两个非常有趣的文件:

./myProject/node_modules/express/lib/utils.js

更好:

./myProject/node_modules/express/node_modules/connect/lib/utils.js

这两个文件都有很多有用的函数,我想知道如何正确调用它们。

到目前为止,在 ./myProject/app.js ,这就是我所做的:

var express = require('express')
, resource = require('express-resource')
, mongoose = require('mongoose')
, expresstUtils =
require('./node_modules/express/lib/utils.js');
, connectUtils =
require('./node_modules/express/node_modules/connect/lib/utils.js');

但我发现它有点笨拙,我的其他文件呢?

例如,这是我的路线之一:

myResources = app.resource(
'myresources',
require('./routes/myresources.js'));

这里是myresources.js的内容:

exports.index = function(req, res)
{
res.render('./myresources.jade', { title: 'My Resources' });
};

exports.show = function(req, res)
{
fonction resourceIsWellFormatted(param)
{
// Here is some code to determine whether the resource requested
// match with the required format or not
// return true if the format is ok
// return false if not
}

if (resourceIsWellFormatted(req.params['myresources']))
{
// render the resource
}
else
{
res.send(400); // HEY! what about the nice Connect.badRequest in its utils.js?
}
};

正如您在 res.send(400) 之后的评论中看到的那样, 我问自己是否可以使用 badRequest utils.js 中的函数连接模块的文件。

漂亮的怎么样md5在同一个文件中运行?

我是否必须在我的 myresources.js 开始时打个拥抱?使用它们?:

var connectUtils =
require('../node_modules/express/node_modules/connect/lib/utils.js');

或者,是否有更优雅的解决方案(即使是 app.js )?

预先感谢您的帮助!

最佳答案

我想出的唯一更优雅的方法是(假设 express 在您的根“node_modules”文件夹中):

require("express/node_modules/connect/lib/utils");

Node 安装在windows上, Node 版本0.8.2


还有一些额外的信息:

这样你就不需要知道你在路径中的位置并被迫使用相对路径(./或 ../),这可以在任何文件嵌套级别上完成。

我将我所有的自定义模块放在根“node_modules”文件夹中(我将我的文件夹命名为“custom_modules”),并在任何嵌套级别都这样调用它们:

require("custom_modules/mymodule/something")

关于node.js - Connect 和 Express 实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9902027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com