Articles of express

从node.js服务器运行angular度

我有以下文件 – 1)index.html 2)app.js(angular度控制器在这里) 3)routes.js(我试图从这里加载index.html – 在localhost:3000上监听) 4)index.css 5)node_modules文件夹 routes.js: var express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io').listen(server); server.listen(3000); app.use("/node_modules", express.static('node_modules')); app.use("/public", express.static('public')); app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); io.sockets.on('connection', function(socket){ socket.on('send message', function(data){ io.sockets.emit('new message', data); }); }); 当我通过从文件资源pipe理器中单击打开index.html文件时,它正常打开正常。 但是,当我运行routes.js,以获取相同的index.html文件,我得到原始的HTML没有angular度的影响。 为什么是这样? 谢谢! 编辑: 我现在可以从localhost:3000/public/访问我的index.css和app.js。 我用app.use("/public", express.static('public')); 在我的routes.js 。 […]

有或没有令牌JWT + PASSPORT的路线可用

我希望我可以使用或不使用令牌来访问路由器。 如果用户有一个令牌,比给我req.user 喜欢这个: router.get('/profile', function(req, res) { if(req.user) { // or if (req.isAuthenticated()) res.send('logged') } else { res.send('not loggedIn') } }); 我的应用: var JwtStrategy = require('passport-jwt').Strategy, ExtractJwt = require('passport-jwt').ExtractJwt; var opts = {} opts.jwtFromRequest = ExtractJwt.fromAuthHeader(); opts.secretOrKey = 'sh'; passport.use(new JwtStrategy(opts, function(jwt_payload, done) { User.findOne({id: jwt_payload.sub}, function(err, user) { if (err) { return done(err, false); […]

如何让Stylus在CoffeeScript中使用Express和Connect工作

我的app.coffee看起来像这样: connect = require 'connect' express = require 'express' jade = require 'jade' stylus = require 'stylus' app = express.createServer() # CONFIGURATION app.configure(() -> app.set 'view engine', 'jade' app.set 'views', "#{__dirname}/views" app.use connect.bodyParser() app.use connect.static(__dirname + '/public') app.use express.cookieParser() app.use express.session({secret : "shhhhhhhhhhhhhh!"}) app.use express.logger() app.use express.methodOverride() app.use app.router app.use stylus.middleware({ force: true src: "#{__dirname}/views" […]

永久会话存储在节点中

我有一个节点服务器现在运行,我npm forever使用npm forever保持运行,当我不开发,我用npm nodemon当我编辑(重新启动应用程序编辑/上传)。 我注意到,每当我重新启动我的应用程序,会话数据丢失,我的球员不得不重新login到他们的帐户。 这不是一个huuuge交易,但我想知道是否有一种方式来编辑我的server.js页面,而无需重新启动应用程序,并logging每个人? (请注意,这仅适用于server.js或模块编辑, .html和.js页面不需要重新启动) (第二个注意:我正在使用mysql,nodejs,angularjs,express.io所有这些,以防万一有人问)

如何在Heroku上的Node express应用程序中设置proccess.env

我有一个简单的节点与mongo(通过mongojs)应用程序,开发本地和部署在heroku上。 在我的开发环境中,我想使用mongo的本地实例,而在生产中,我想使用heroku通过“process.env.MONGOLAB_URI”提供给我的实例。 我目前的做法是,我将根据环境variables设置datavase url,但是我如何才能进入生产模式? 此外,我怎样才能configuration这个,当我在本地机器上开发它的开发模式,当我上传到heroku的生产模式? app.configure('production', function(){ // … databaseUrl = "mydb"; // the default }); app.configure('development', function(){ // … databaseUrl = process.env.MONGOLAB_URI; }); db = require("mongojs").connect(databaseUrl);

在nodejs中,如何停止FOR循环直到mongodb调用返回

请看下面的代码片段。 我有一个名为“stuObjList”的JSON对象数组。 我想通过数组来循环查找具有特定标志集的特定JSON对象,然后进行数据库调用来检索更多的数据。 当然,FOR循环不会等待db调用返回,并以j ==长度结束。 当db调用返回时,索引'j'超出了数组索引。 我了解node.js是如何工作的,这是预期的行为。 我的问题是,这里有什么工作。 我怎样才能达到我想要实现的目标呢? 谢谢, – 苏 …………… …………… …………… else { console.log("stuObjList.length: " + stuObjList.length); var j = 0; for(j = 0; j < stuObjList.length; j++) { if(stuObjList[j]['honor_student'] != null) { db.collection("students").findOne({'_id' : stuObjList[j]['_id'];}, function(err, origStuObj) { var marker = stuObjList[j]['_id']; var major = stuObjList[j]['major']; }); } if(j == […]

在Node中使用Passport中间件进行Twitter身份validation

我正在开发一个网站与Node.js(使用Express框架)。 为了使用Twitter身份validation,我正在使用passport模块(http://passportjs.org),他的Twitter包装器称为passport-twitter 。 我的服务器端脚本是: /** * Module dependencies. */ var express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path') , passport = require('passport') , keys = require('./oauth/keys') , TwitterStrategy = require("passport-twitter").Strategy; var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view […]

护照本地策略和cURL

我想用CURLtesting我的node.js + express + passport.jstesting应用程序(RESTful)。 我的代码: var express = require('express'); var routes = require('./routes'); var http = require('http'); var path = require('path'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; // Define the strategy to be used by PassportJS passport.use(new LocalStrategy( function(username, password, done) { if (username === "admin" && password === "admin") // stupid […]

我可以在一个项目中混合使用JS和CoffeeScript吗?

我正在使用ExpressJS和app.js是直的JavaScript。 如果我想使用CoffeeScript,是否必须重写app.js,或者只能使用CoffeeScript编写其他文件?

在Node.Js Express中,“res.render”是否结束http请求?

所以,只有在确定一切已经完成的时候才做“res.render”,对吗? 因为它结束了请求并且射出一个网页。