问题标签 [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 回答
21398 浏览

node.js - Express 4 + Socket.io = 404

几个小时以来,我一直试图让 socket.io 与 express 4 一起工作。我已经开始关注这个教程,它给了我一个工作休息 api。

为了让 socket.io 工作,我使用了命令

这将 socket.io 添加到我的 node_modules 目录中。在此之后,我编辑了我的 app.js 以包含以下代码:

在我的(玉)视图中,我添加了以下代码:

现在,当我使用 npm start 运行时,我的浏览器和 npm 控制台中出现以下错误:

据我所知,我几乎没有在相关问题的每个答案中都建议使用 express-generator,我做错了什么?

我完整的 app.js

我已经尝试过:但结果是端口 3000 已在使用中出现错误。

0 投票
1 回答
1639 浏览

node.js - 文件上传挂在生产代码上,但在本地工作 - multer,node.js

我正在开发一个用 express 3 编写的应用程序,现在我们升级到 express 4,我在文件上传时遇到了问题。一切都可以在我的本地计算机 mac OSX 上运行,但不能在 ubuntu 上的生产服务器上运行。

我正在上传 zip 文件,里面有 png 和 psd。

我正在通过多部分形式上传文件:使用 multer 中间件。

本地一切都很好,但在生产环境中,连接正在中断。文件开始上传到主上传根目录,但作为块的一部分,例如我上传了 50 mb 的 zip 文件,但上传了大约 30 kb 并且连接中断,因为将数据作为块上传的 onFileDataupload 事件中断了。

app.js 中的设置

我的身体解析器设置:

我的 multer 设置:

}));

我也尝试过强大的替代方案,我有同样的问题,在本地工作,不在生产环境中工作。而且我认为这可能是按节点管理的请求的问题。在生产环境中,我们使用 pm2。文件上传时,Smoething 正在断开连接。

有没有人遇到过类似的问题并找到解决方案?谢谢

0 投票
0 回答
51 浏览

node.js - 为什么 Visual Studio for Azure 中的 node.js 服务器的创建方式不同?

我在我的 Azure 项目中遇到了一个奇怪的问题,这似乎与服务器的创建方式有关。该项目是使用Basic Azure Node.js Express 4 ApplicationVisual Studio 2013 Ultimate 中的模板创建的。经过一番努力,该项目在本地运行良好,直到我点击浏览器的刷新按钮,该按钮再也不会回来了。

该项目最初是在 WebStorm 中创建的,我没有遇到这个问题。正如我所想,它们之间的差异非常小:在 WebStorm 中,使用了:

但在 Visual Studio 中,这是使用的(从 www 文件中的模板创建):

当我用 WebStorm 版本替换它时,一切似乎又正常了。谁能解释为什么?

顺便说一句,在我的应用程序中,我没有使用节点视图。相反,我正在使用:

会不会和这个问题有关?

0 投票
0 回答
96 浏览

node.js - 在 Express4 服务器上调试这个 jam+coffeescript 代码

我正在寻求帮助,因为我不知道这些代码行有多糟糕。

我正在尝试将这个原始的 Codepen.io 作品(http://codepen.io/ettrics/pen/Jdjdzp/,由 Ettrics)改编为我的一个教学项目。我在 Express4+Stylus+Coffescript 节点的服务器上运行我的网页。

CoffeeScript 文件:

这个coffeescript文件在jade中被 script(src='javascripts/coffee-script.js') script(src='javascripts/modal.coffee', type='text/coffeescript') 调用

我无法使用 CoffeeScript 编译器日志,因为“window.onload = Modal.init”返回了“未定义窗口”错误。但是浏览器控制台没有返回错误,Codepen 也没有。

我不得不承认,我在三天前就开始学习这 4 种语言了。所以我基本上什么都不知道......我什至不知道我的应用程序设置是否正确。

任何人都可以帮我解决这个问题吗?非常感谢!:)

0 投票
1 回答
2303 浏览

javascript - 在 app.js Node JS 中不可用的一个路由文件中定义的 Express-session

我在 node js 和 express 4 中遇到 express-session 问题。我在 routes/index.js 中设置了一个会话变量,并且在 app.js 中不可用。但在另一个路由文件 users.js 中可用

路线/index.js

路线/users.js

应用程序.js

谁能给我一个解决方案。?

0 投票
3 回答
486 浏览

javascript - Express 4.0 无法在“/views”目录中查找视图

我正在为 NodeJS 使用 Express 4.0 和 Express3-handlebars 库。

这是配置

contact.html 在views 目录中

这是我得到的错误:

我花了一个多小时试图修复它无济于事。代码有什么问题?

0 投票
1 回答
3147 浏览

javascript - MongoDB 和 Express:类型错误:将循环结构转换为 JSON

我是 MEAN 堆栈的新手。我正在尝试从 MongoDB 中检索文档列表。我使用 Visual Studio 2013 社区版创建了一个基本的 Nodejs Express 应用程序。Visual Studio 在根目录上创建了 app.js 文件以进行配置。我在与 mongodb 相关的 app.js 中放入了以下代码:

在 Visual Studio 创建的 routes 文件夹中,我创建了一个执行 CRUD 操作的 js 文件。我在这个文件中有以下代码:

我是类型错误:将循环结构转换为 JSON。

我试图不使用任何架构。

请指教。

0 投票
1 回答
547 浏览

node.js - 如何配置 express js 4 以在 http 中提供某些页面而在 https 中提供其他页面?

有什么方法可以使用 express js 4 配置节点 js 应用程序,以在 http 协议下提供一些页面,而在 https 中提供其他需要更高安全性的页面?

我描述了我的问题:我正在开发一家在线商店,我想在协议下显示某些页面,例如产品列表或产品详细信息视图http,以及我认为需要更多安全性的其他页面,例如登录或购物车视图https.

我已经尝试过该express-force-ssl模块,但它不起作用。以下代码片段不是来自我的应用程序(太脏),它只是一个示例,它对我不起作用:

结果是,当我使用 url 启动应用程序时,http://localhost:8085服务器会自动将其重定向到协议中https://localhost的所有页面并提供服务。https

我想要的是开始http://localhost:8085,导航到http://localhost/user/userA,然后从它转到https://localhost/login,如果单击“Hello”链接,我想被重定向到http://localhost:8085

是否有任何缺少的代码来获得我想要的行为,甚至没有任何其他方式可以在没有express-force-ssl模块的情况下实现它?

0 投票
2 回答
727 浏览

node.js - Express 4:路由器语法

我在新路由器上使用 Express 4。至少有一件事让我感到困惑,这是一个语法问题——我想知道是否有一个正则表达式可以做我想做的事。我有一个标准的 REST api,但我想添加批量更新,以便我可以发送所有信息以通过一个请求更新某些用户模型,而不是每个用户一个 PUT 请求。无论如何,我目前将所有请求路由到用户资源,如下所示:

在 userRoutes.js 中:

但现在我想要一个捕获批处理请求的路由,如下所示:

换句话说,我想要的东西可以转化为:

...但是使用新路由器。我无法正确使用语法。

我试过这个:

但这不起作用。有谁知道如何设计这个?

0 投票
1 回答
1091 浏览

javascript - 如何处理“不能 “在快递?

作为一个最小的示例,请考虑以下代码:

例如,当我现在尝试 a PUTon 时/example,我会收到一条Cannot PUT /example带有404状态码的消息。我没有声明的所有其他路线和方法也是如此。我的错误处理程序只会在路由或正文解析器本身的实际错误上被调用。

有办法自己处理吗?我正在使用 Express4。