Tag: 表示

找不到所需的文件

我有一个节点文件用于快速,它不能在一个函数中看到所需的文件,但是当设置断点时,我可以看到它在声明后立即定义。 另外一个variablesauth在两个地方都可以看到 var auth = require('../utilities/auth'); var index = require('../utilities/index'); // here, i set a break point and index is defined module.exports = { create : function (req, res) { // in here, i set a breakpoint, index is not defined 而且我很确定我有正确的path。 上面的代码片段来自user.js 一个更完整的片段在这里。 https://gist.github.com/foobar8675/eb5ec78461dff59a80d1 任何build议表示赞赏!

Node.js与快递和反应,fs.readdir无法find文件

在我的应用程序中,我使用Node.js,React和Express。 我想从我的光盘目录加载图片。 假设我要加载的文件位于// localhost:3000 / images / own / (当我input例如//localhost:3000/images/own/my_pic.jpg浏览器返回某些图片) 我曾经用ajax调用它: $.ajax({ url: '/images/own', dataType: 'text', success: function (data){ //some actions here } }); 但现在我得到404错误“GET http:// localhost:3000 / images / own / 404(Not Found)”。 我知道加载节点的文件通常是用fs完成的,但是由于我的脚本是用babel编写的(在React中需要),所以我不能使用require('fs') 。 我find了https://github.com/OptimalBits/fs.js ,我可以使用它(通过将其包含在我的html文件中),但是在使用它时如下例所示: FSFactory(1024*1024, 'images/own', function(err, fs){ if(err){ console.log(err); } fs.readdir('/', function(err, entries){ if(err) console.log(err); console.log(entries); }); }); fs对象是空的,readdir返回空表。 我应该以不同的方式给目录path,还是有其他的方式来加载文件? […]

在开发中绕过stormpath

我正在试图通过express-stormpath 。 我的networking连接非常差,所以每次节点应用程序重新启动时,页面都需要很长时间才能响应。 看起来这个express-stormpath在背后做事。 无论我访问哪个页面,都会发生问题。 即使在路线上没有stormpathvalidation,也只需要几秒钟的时间来进行响应。 任何人都可以告诉我如何在开发模式下绕过Stormpath的所有例程。

通过LinkedInloginauthentication用户的护照

我在护照上build立了一个login系统,工作得很好。 现在,我想在我的系统中集成LinkedInlogin。 我已经有clientID , clientSecret等需要login。 这是按下LinkedInloginbutton时调用的代码。 passport.use('linkedin', new OAuth2Strategy({ authorizationURL: 'https://www.linkedin.com/uas/oauth2/authorization', tokenURL: 'https://www.linkedin.com/uas/oauth2/accessToken', clientID: clientid, clientSecret: clientsecret, callbackURL: '/linkedinLogin/linkedinCallbackUrlLogin', passReqToCallback: true }, function(req,accessToken, refreshToken, profile, done) { console.log('authenticated'); console.log(accessToken); req.session.code = accessToken; process.nextTick(function () { done(null, { code : req.code }); }); })); callback函数中的console.log()调用都已成功触发,这意味着我已成功通过LinkedInlogin,并且收到我的访问令牌。 我连接LinkedIn的部分是正确的,我缺less的是我实际login用户的部分。 正如你所看到的, callbackURL指向/linkedinLogin/linkedinCallbackUrlLogin 。 这就是我在这条路上所做的: app.get('/linkedinLogin/linkedinCallbackUrlLogin', passport.authenticate('linkedin', { session: false, successRedirect:'/linkedinLogin/success', […]

表示中间件受保护和不受保护的路由

我有一些/users下的路线,我想要求一个身份validation令牌和一些我不。 为了做到这一点,我做了以下。 var protected = express.Router(); var unprotected = express.Router(); unprotected.post('/', function(req, res, next) { // A // no auth required next(); }); protected.get('/', function(req, res, next) { // B // auth required next(); }); module.exports = { protected: protected, unprotected: unprotected }; 然后我用下面的方法安装这些路线。 var users = require('./routes/users'); app.use('/users', unprotected_middleware, users.unprotected); // C app.use('/users', protected_middleware, […]

在Node Express中包含自定义模块

我是Node / Express的新手,我不完全确定事情的发展方向。 我想有一个自定义的类 – 我在哪里把这个自定义代码放在我的快速应用程序? 我似乎必须把它放在“node_modules”里面,以便它被需要的东西拾取,而这并不是我想要的东西。 理想情况下,我想在一个lib文件夹或喜欢它。 我怎样才能做到这一点?

中间件不能连接HTTP服务器

我正在阅读专业Node.js,我想了解连接HTTP中间件框架。 我创build了一个简单的中间件,返回一个用自定义testingstring回复的函数: function replyText(text) { return function(req, res) { res.end(text); }; } module.exports = replyText; 但是,当我尝试在连接服务器中使用这个中间件。 节点给我一个错误: /Users/socomo22/work/hello_world_app_v2.js:8 var app = connect.createServer(replyText('Hello World!')); ^ TypeError: undefined is not a function 但是当我简单地使用: var app = connect(); app.listen(8080) 它运行时不会出现任何错误。 我不明白我是否在做任何合乎逻辑的错误。 我将如何使用这个简单的中间件? 这是我的连接服务器文件: var connect = require('connect'); // middlewares var replyText = require('./reply_text'); var app = connect(); var […]

如何获得PeerJS服务器(与快递)的连接用户列表?

我正在尝试使用PeerJS(一个webRTC库)进行游戏和triyng,以使用它们提供的服务器来进行用户发现。 我想pipe理一个连接的用户列表,我正在与PeerJS服务器苦苦挣扎。 在文档中,他们说我们可以在同一个应用程序中有一个PeerJs和一个Express服务器。 这里是代码: # this doesn't work var express = require('express'); var app = express(); var ExpressPeerServer = require('peer').ExpressPeerServer; app.get('/', function(req, res, next) { res.send('Hello world!'); }); var server = app.listen(9000); var options = { debug: true, allow_discovery: true } app.use('/api', ExpressPeerServer(server, options)); server.on('connection', function(id) { # we get a socket object as id […]

获取NodeJS服务器正在侦听的端口号

我正在尝试检索NodeJS正在侦听的端口号。 目前我将端口号码保存在app.jsvariables中,并试图在index.js文件中访问它。 不过,我在index.js文件中得到了undefined值。 我不确定为什么会发生这种情况。 我怎样才能解决这个问题? index.js var express = require('express'); var app = require('../app'); var router = express.Router(); var socket = require('socket.io'); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); console.log("port: "+ app.portNumber); socket.listen(app.portNumber); }); module.exports = router; app.js: var portNumber; //请求网页时调用正确路由的控制器代码的其余部分。 www.js: / ** *从环境中获取端口并存储在Express中。 * / […]

你如何将一个套接字对象传递给路由?

我的目标是=用户点击好友请求,然后将其发送给目标用户。 我现在有两个问题 如何将套接字对象传递给路由器而不把路由器包装在io.on('connection', function()) ? 我现在的代码 module.exports = function(express, io) { var router = express.Router(); router.post('/add-friend', function(req, res, next) { var userId = req.body.userId; console.log(userId); User.update( { _id: userId, friendsRequested: { $ne: userId } }, { $push: { friendsRequested: { requestee: req.user._id } }, }, function(err, count) { if (err) return next(err); io.emit('friendsRequest', req.user); // […]