问题标签 [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 投票
1 回答
319 浏览

cookies - Express 4 app.locals 获取 cookie 值

好的,基本上我已经运行了 Express 4,我想在每个页面上获取 cookie 的值,我觉得 app.locals 非常适合这个,但我无法让它在 app.js 中获取 cookie 值

我试过了

但是,它使我的页面都没有加载,所以有人对此有一些经验吗?

0 投票
2 回答
137 浏览

javascript - 找不到页面(express 4 + body-parser + form + post)

我想从客户端接收数据,所以我使用 express 4 和中间件 body-parser。但是我输入 url: localhost:5555/book,页面显示消息:Name: undefined,我输入 url: localhost:5555/book/form.html,页面显示消息Cannot POST /book/form.html。这是我的代码。

表单.html

服务器.js

0 投票
1 回答
39 浏览

node.js - Express 4.0 请求数据接收格式

我正在使用 express 4.0+,这是我的代码

在前端,我发送:

JSON.stringify({"test":"message"});

后端打印的req.body数据为:

我事先只使用了 nodejs 的 createServer 函数,请求数据将作为

我的问题是,express 是否会自动对传入的数据进行 json 编码/字符串化(看起来像这样),我将如何禁用它?我知道我不能对从前端发送的数据进行编码,但我不确定为什么要更改它。

0 投票
1 回答
292 浏览

javascript - 为什么在尝试渲染 doT.js 视图时出现错误:ENOENT 打开错误

我第一次尝试 doT.js 并编写了一个非常基本的服务器设置:

当我运行服务器并转到 myaddress:8080 时,我收到以下错误:错误:ENOENT,打开“/home/myproject/views/layout.html”

如果我尝试用 res.sendFile 调用 index.html 它可以工作(当然我不能那样传递变量)

我哪里错了?当我没有看到任何示例提到这样的文件时,为什么我收到一个似乎与打开“layout.html”失败的尝试有关的错误?

我需要使用 res.render 将变量传递给模板,但是我发现的所有示例都按照我第一次尝试的方式进行。

0 投票
3 回答
4377 浏览

node.js - Express4.10 bodyParser req.body undefined

我正在尝试构建节点应用程序的登录,尝试访问路由/登录获取:req.body undefined

错误:

应用程序.js

包.json

控制器/home.js

路线/home.js

意见/主页/index.ejs

请帮我!

0 投票
0 回答
92 浏览

javascript - 无法在 express 4 的 Router.use() 中调用包含的中间件

我写了一个重定向没有授权用户的函数

并附在express 4的路由器上

但出现错误,req 未定义。甚至试图自己传递参数:

但有一个req未定义的错误

然后我尝试redirectNotAuthorized在这个(路由器)模块中编写函数,但是有一个错误Router.use() requires middlewarefunctions

如果我像 Express 的指南中那样做,它会起作用:

但这不舒服,因为我也需要在其他路由器中要求(包括)它们。

不知道是我的错,还是bug。如果这是一个错误,请如何在其他路由器中包含相同的中间件。谢谢

0 投票
1 回答
3431 浏览

node.js - 如何将配置的护照对象传递到 Express4 中的路由模块?

因为从 Express 4 你不应该这样做

相反,你应该使用express.Route()函数和

如何将配置的护照传递到 Express 4 中的路由模块?

0 投票
1 回答
745 浏览

javascript - 如何将参数传递给自执行匿名函数

我的 server.js 中有这行代码:

当我的 allRoutes.js 看起来像这样时,这可以正常工作:

但是如果我的 allRoutes.js 看起来像这样:

如何在匿名的自执行函数中传递应用程序对象?

0 投票
1 回答
1926 浏览

node.js - Socket.io 在不使用不同端口号的情况下无法与 Express 4 一起使用

当我为 socket.io 指定一个与服务器端口号不同的端口号时,我的应用程序可以工作。工作代码如下:

这是我的 app.js 文件:

这是我的talk.js 文件:

这是我在 index.ejs 中的脚本标签:

最后这是我来自客户端的 io 连接:

这可行,但问题是我想将我的网站发布到 Azure,但不可能让 Azure 网站监听不同的端口。至少我认为这是不可能的。

我尝试的许多事情之一是将talk.js 文件更改为:

但我它不起作用。我总是得到一些类似的东西http://localhost/socket.io/socket.io.js not found

如果我将 index.ejs 文件中的脚本标记更改为此

socket.io.js 文件被加载,但是当我从客户端连接时,我得到一个连续的 404 not found 错误。

我在网上查看了很多解决方案,但没有一个有效。我真的不知道我做错了什么。

0 投票
1 回答
62 浏览

node.js - Node JS & Socket.io Advice - 是通过路由还是通过套接字将信息发布到数据库更好?

我目前正在构建一个新应用程序,在基本级别上,它允许用户添加需要完成的任务,然后让不同的用户组选择任务并完成它。

以前,我接手构建了一个用 NodeJS 和 Socket.io 编写的实时聊天应用程序,并且所有消息都通过套接字连接发布到数据库。

在当前的应用程序中,我也在做同样的事情,但在考虑是否最好通过路由将信息发布到数据库,然后在成功时发出套接字事件以更新可用任务列表。

我就是来求教的,请问你们是怎么做的?通过路由或套接字向数据库提交信息?