Questions tagged «express»

Express是一个灵活的Node.js Web应用程序框架,为构建Web应用程序提供了一组强大的功能。

6
express.js中app.use和app.get之间的区别
我是表示和node.js的新手,我无法弄清app.use和app.get之间的区别。似乎您可以同时使用它们来发送信息。例如: app.use('/',function(req, res,next) { res.send('Hello'); next(); }); 似乎与此相同: app.get('/', function (req,res) { res.send('Hello'); });
220 node.js  express 

7
用express.js的静态文件
我想将服务index.html和/media子目录作为静态文件提供。索引文件应同时在/index.html和/URL处提供。 我有 web_server.use("/media", express.static(__dirname + '/media')); web_server.use("/", express.static(__dirname)); 但第二行显然可以处理整个__dirname,包括其中的所有文件(不只是index.htmland media),我不希望这样。 我也试过 web_server.use("/", express.static(__dirname + '/index.html')); 但是访问基本URL /会导致对web_server/index.html/index.html(双重index.html组件)的请求,这当然会失败。 有任何想法吗? 顺便说一下,我在Express中找不到关于此主题的文档(static()+它的参数)...令人沮丧。也欢迎使用doc链接。
212 node.js  express 

6
node.js全局变量?
我在这里问: node.js是否需要继承? 有人告诉我可以通过省略var将变量设置为全局范围。 这对我不起作用。 即: _ = require('underscore'); 不能使_在必需文件上可用。我可以设置express app.set,但可以在其他地方使用。 有人可以确认这应该起作用吗?谢谢。

8
如何从Node.js调用Python函数
我有一个Express Node.js应用程序,但我还有一个机器学习算法可在Python中使用。有没有一种方法可以从Node.js应用程序调用Python函数来利用机器学习库的功能?
208 python  node.js  express 

3
如何在mongodb中的对象数组中搜索
假设mongodb文档(表)“用户”为 { _id: 1, name: { first: 'John', last: 'Backus' }, birth: new Date('Dec 03, 1924'), death: new Date('Mar 17, 2007'), contribs: [ 'Fortran', 'ALGOL', 'Backus-Naur Form', 'FP' ], awards: [ { award: 'National Medal', year: 1975, by: 'NSF' }, { award: 'Turing Award', year: 1977, by: 'ACM' } ] …

6
如何使用node.js实现安全的REST API
我开始使用node.js,express和mongodb计划REST API。该API为网站(公共和私有区域)提供数据,之后可能还会提供移动应用程序的数据。前端将使用AngularJS开发。 几天来,我读了很多有关保护REST API的知识,但是我没有一个最终的解决方案。据我了解是使用HTTPS提供基本的安全性。但是在那种情况下我如何保护API: 仅网站/应用程序的访问者/用户被允许获取网站/应用程序公共区域的数据 仅允许经过身份验证和授权的用户获取专用区域的数据(并且仅允许用户授予权限的数据) 目前,我考虑只允许具有活动会话的用户使用API​​。要授权用户,我将使用护照,并且需要获得许可,我需要自己实现一些功能。全部位于HTTPS的顶部。 有人可以提供一些最佳实践或经验吗?我的“体系结构”是否缺乏?



6
在Express.js中使用next()将变量传递到下一个中​​间件
好吧,我的问题是我想将一些变量从第一个中间件传递给另一个中间件,我尝试这样做,但是有req.somevariable一个“给定为'undefined'”。 //app.js .. app.get('/someurl/', middleware1, middleware2) ... ////middleware1 ... some conditions ... res.somevariable = variable1; next(); ... ////middleware2 ... some conditions ... variable = req.somevariable; ...



10
在由nodejs制作的REST API中设置响应状态和JSON内容并表达的正确方法
我正在玩Nodejs,并通过构建一个小的rest API来表达。我的问题是,设置代码状态以及响应数据的最佳实践/最佳方法是什么? 让我用一些代码来解释(我不会放置节点并表达启动服务器所需的代码,而只是涉及的路由器方法): router.get('/users/:id', function(req, res, next) { var user = users.getUserById(req.params.id); res.json(user); }); exports.getUserById = function(id) { for (var i = 0; i < users.length; i++) { if (users[i].id == id) return users[i]; } }; 下面的代码运行完美,当与Postman发送请求时,我得到以下结果: 如您所见,状态显示为200,这是确定的。但这是最好的方法吗?是否需要我自己设置状态以及返回的JSON?还是总是由快递处理? 例如,我只是做了一个快速测试,并略微修改了上面的get方法: router.get('/users/:id', function(req, res, next) { var user = users.getUserById(req.params.id); if (user …
186 node.js  rest  http  express 

30
无法加载c ++ bson扩展
总节点菜鸟在这里。我一直在尝试设置示例节点应用程序,但是每次我尝试运行时都会弹出以下错误: 节点应用 Failed to load c++ bson extension, using pure JS version events.js:72 throw er; // Unhandled 'error' event ^ Error: failed to connect to [#$%67890 :27017] at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:553:74) at EventEmitter.emit (events.js:106:17) at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15) at EventEmitter.emit (events.js:98:17) at Socket.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10) at Socket.EventEmitter.emit (events.js:95:17) at net.js:830:16 at process._tickCallback (node.js:415:13)


6
通过猫鼬将项目推入mongo数组
我一直在寻找答案,但我确定我迷失了正确的词来描述我的追求。 基本上,我有一个名为“ people”的mongodb集合,该集合的架构如下: people: { name: String, friends: [{firstName: String, lastName: String}] } 现在,我有一个非常基本的express应用程序,该应用程序连接到数据库并使用空的Friends数组成功创建了“ people”。 在应用程序的次要位置,有一个添加好友的表单。该表单采用firstName和lastName,然后使用带有名称字段的POST来引用适当的people对象。 我很难做的是创建一个新的朋友对象,然后将其“推送”到friends数组中。 我知道,当我通过mongo控制台执行此操作时,我会使用$ push的更新功能作为查找条件之后的第二个参数,但是我似乎找不到合适的方法来使猫鼬执行此操作。 db.people.update({name: "John"}, {$push: {friends: {firstName: "Harry", lastName: "Potter"}}}); 更新: 因此,阿德里安的答案非常有帮助。以下是我为实现自己的目标所做的工作。 在我的app.js文件中,我使用 app.get('/addfriend', users.addFriend); 我的users.js文件中的哪里 exports.addFriend = function (req, res, next) { var friend = {"firstName": req.body.fName, "lastName": req.body.lName}; Users.findOneAndUpdate({name: req.user.name}, {$push: …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.