问题标签 [express-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4289 浏览

node.js - Node.js 有条件地使用 csurf 和 express 4

我尝试在我的快递应用程序中的几条路线上使用 csurf。这就是方法:

甚至尝试过:

但这给了我一个错误: Object # has no method 'csrfToken'

如何有条件地使用 csurf。该文档仅提供在 express 应用程序中的所有路线上使用它的信息

但这不是我想要的,我想排除一些路线......

好心……马丁

更新:

最后它起作用了。我做了以下事情:

这有条件地添加了 csrf 中间件。但我真的觉得这样称呼它有点奇怪:

我什至不明白语法...

0 投票
1 回答
12006 浏览

node.js - Express 4、NodeJS、AngularJS 路由

我正在使用 Express 4 在我的后端托管我的 AngularJS 应用程序,并使用 Nginx 作为我的前端服务器。但是 html5 模式似乎不起作用,因为当我尝试http://localhost/login通过浏览器输入页面链接(例如)时,我会收到一个 Cannot /GET 错误。我需要为我的 Express/Nginx 做任何路由配置吗?这是我的配置代码:

快递4:

AngularJS:

Nginx:

0 投票
5 回答
9358 浏览

node.js - 如何在 express 4 中禁用翡翠/模板引擎

我是表达新手,我想探索 Express 的工作原理。

我正在使用最新版本的express 4 (4.8.1)

我不想使用任何模板引擎。我想手动提供我的 HTML 内容。

我怎么做?我在这里搜索了几个问题是 StackOverflow 并找到了解决方案。我应该做的就是注释掉以下几行。

但是当我这样做时,当我从浏览器访问我的服务器时会出现以下错误。

这是整个代码。(app.js)

另外,我jadepackage.json

0 投票
2 回答
224 浏览

node.js - ExpressJS 识别文件类型

我正在使用 NodeJS 和 Express,并且我有一个无法运行的 .unity3d 文件,因为我很确定 NodeJS 无法识别它。我对其进行了研究,我很确定它与 NodeJS 有关,需要在它可以运行之前提供 unity3d 文件类型。Unity webplayer 内容的 MIME 类型是:application/vnd.unity.

unity webplayer 文件的文件扩展名是:.unity3d

所以,如果我在我的服务器上编辑 htaccess 文件,我必须添加这个:AddType application/vnd.unity unity3d

我如何在 NodeJS 中做到这一点并表达?

0 投票
1 回答
3645 浏览

node.js - Express 4:如何将文件上传到内存(例如作为 UTF-8 字符串)而不是磁盘?

我有一个 Express 4 应用程序,它需要处理用户上传的数据文件并返回一个输出。这些文件相对较小(1-2 MB),所以我想将它们直接上传到内存(例如作为 UTF-8 字符串变量)而不是将它们保存到磁盘。

到目前为止,我得到的最接近的是multer模块及其onFileUploadData事件,但我不知道如何获取数据并将其传递给单独文件中的路由处理程序。

这对 Node.js / Express 可行吗?

0 投票
2 回答
1698 浏览

node.js - 在 express.js 4 中包含所有路由的模块

我正在使用 Express 4.2.0

是否可以在 app.js 中只包含一次模块并在任何定义的路线中使用它?

现在这不起作用:

应用程序.js


路线/user.js

它会说“请求”没有定义routes/user.js

ReferenceError: 请求未在 Object.module.exports [作为句柄] (C:\inetpub\wwwroot\node7\routes\users.js:12:5) 中定义

必须在每条想要使用它们的路由中包含模块听起来不是一个合适的解决方案......

0 投票
1 回答
306 浏览

javascript - Should modules be configured with app.use in all routes at express.js?

I was told that if I want to use one same express module in different route files the proper way of doing it would be to include it in every route file rather than making it globally in app.js.

Now I'm wondering if I should duplicate all the app.use as well in all of them or if I should only do it once in app.js.

In case of doing it in app.js, then I should include all those modules as well in app.js duplicating yet more code. Am I right?

To illustrate it a bit better I'll add the following example:

What I understood is that I have to duplicate the following includes in every route I need to use them, having any of those files initial content like this:

What about app.use then?

0 投票
1 回答
280 浏览

node.js - 将 Socket.io 添加到 Express 4 服务器 - 多文件设置

我一直在 socket.io 和 express.io 之间来回切换——但我选择使用 Express 4 的 socket.io,因为我想使用命名空间。

我已经研究了一些使用 Socket.io 拥有 Express 4 服务器的示例 - 但大多数示例都基于一个包含所有内容的文件。我试图分离我的所有代码以使其更容易,但我不知道如何添加 Socket.io(或在哪里)。

我有 index.js,它使用 Cluster,基本上调用 server.js:

然后调用 server.js 文件:

我只有一个“路线”,即“/”,在 routes.js 文件中定义。页面加载正常,但我在哪里添加服务器端 socket.io?我是否在 routes.js 文件或正在加载的页面的 javascript 中添加任何 socket.io 命名空间定义?

使用套接字的方法有很多,我似乎无法为我的多文件方法找到最佳方法。

任何帮助都会很棒,因为我似乎在绕圈子。

享受我们的星期六:)

再次感谢。

0 投票
1 回答
5934 浏览

node.js - 在 Express 4 中访问 Jade 的 Flash 消息

我目前正在使用 Express 框架学习 NodeJS。出于某种原因,Express 4 的指南并不多,但 Express 3 的指南却很多。

我正在尝试使用 connect-flash 将“注册”函数中的错误传递回 Jade 模板。

应用程序.js

在我的 routes.js 中,我得到了以下代码:

我 100% 确定存在错误,并且req.flash('error', error);通过了。我正在尝试从我的 index.jade 访问此 Flash 消息:

但由于某种原因,我收到错误消息Cannot read property 'error' of undefined。这当然意味着这messages是未定义的。但是,我也尝试过errorerror_messages参见 app.js,第 38 至 42 行),但无济于事。

除了这个问题,我想知道你们是否知道任何可以找到快速 4 指南的好资源?

谢谢!

0 投票
1 回答
64 浏览

ejs - EJS - 脚本位置错误

为了 DRY,我的 SPA 中有 3 种页面类型:(1)Layout(2)Index(3)XXXX (view)。布局有正文相关标签,索引导航系统,XXXX 相关内容。这是代码:

布局.ejs:

索引.ejs:

查看对这个问题不重要的页面。我注意到我的布局中的脚本标签位于主体的子 DOM 之上,这根本不是我想要的。我想要的是:

- - - 身体

----- 脚本

我必须在 layout.ejs 中做什么才能将脚本标签保留在最终 html 页面的底部?