Tag: 表示

NodeJS Express,添加事务ID

伙计们,试图为每个API调用设置一个事务ID。 以下工作: var cls = require('continuation-local-storage'); var uuid = require('node-uuid'); var namespace = cls.createNamespace('foo'); var tokenMiddleware = function tokenMiddleware(req, res, next){ namespace.bindEmitter(req); namespace.bindEmitter(res); namespace.run(function() { namespace.set('tid', tid); next(); }); }; 现在,当我尝试添加额外的信息(从mongo返回)时,会丢失上下文: var cls = require('continuation-local-storage'); var uuid = require('node-uuid'); var namespace = cls.createNamespace('foo'); var tokenMiddleware = function tokenMiddleware(req, res, next){ mongo.fetchId(authId, function (result) { namespace.bindEmitter(req); […]

node.js无法连接到mysql数据库

我在我的服务器上使用CentOS,node.js抛出错误 CONNECTION error: { [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)] code: 'ER_ACCESS_DENIED_ERROR', errno: 1045, sqlState: '28000', fatal: true } 我在Ubuntu上的本地版本不会抛出这个错误,PHP可以连接到这个数据库相同的凭据。 我使用这个代码连接到数据库 var connect_params = require('./connect'); var express = require('express'), app = express(), mysql = require('mysql'), connectionpool = mysql.createPool(connect_params.connection); 和我的connect.js var connection = { host: 'localhost', user: 'user', password: 'password', database: 'mydb' […]

在express中设置来自routes / index的模板variables4

我是新来的node.js和expression。 我已经安装了express 4使用“express myAppName”命令从terminal,它创build一个默认目录,我默认使用Jade模板。 主文件app.js看起来像这样(标准的快速样板文件): var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); // uncomment after placing […]

node.js – 当param express.js太长时,无法加载css

我正在通过Node.js,express.js,ejs写一个应用程序…. 我正在使用这个代码来使用ejs和加载CSS: app.engine('.html', require('ejs').__express); app.set('views', __dirname + '/views'); app.set('view engine', 'html'); app.use(express.static(__dirname + '/views')); 这是我的目录结构 myapp –Controller —-admin.js –db —-db.js –views —-admin ——user.html ——addUser.html —-css ——style.css –app.js Html加载CSS这样的 <link href="../css/style.css" rel="stylesheet"> 而我用我的网站的CSS。 当我使用参数: app.get('/admin/users', admin.users); app.get('/admin/add', admin.add); url是: loocalhost:1080 /pipe理/用户 loocalhost:1080 /pipe理/添加 那么我的CSS活跃 。 但是当我使用参数: app.get('/admin/users/add', admin.add); url是: loocalhost:1080 /pipe理/用户/添加 那么我的CSS不活跃。 那么如何解决呢? 请帮忙。

用Jade编译Coffeescript:咖啡filter:会妨碍性能吗? 有没有办法简化? 裸?

我正在考虑通过jade的咖啡filter来编译客户端的coffeescript。 Express的设置很简单,如下所示(在我通过命令行编译的coffeescript中): app.get '/coffee/:script', (req, res) -> script = req.params.script res.render "../coffee/#{script}" .jade文件可以是: :coffee console.log 'hello world' 我有三个问题: 有没有任何性能问题,我应该关心与通过命令行预编译脚本? 我假设在服务器启动(或第一次加载?),他们可能会花更less的时间,但应该被caching? 有没有办法让玉石自动呈现整个文件应该是:咖啡文字? 这将节省:咖啡线,并从每行的额外缩进。 有没有办法让玉编译脚本光秃秃的(function(){包装?我经常写自己的: (($)-> … ) jQuery ,有时需要公开variables:)

在运行grunt watch的时候,它会在运行express服务器任务时抛出警告并中止

在运行grunt watch的时候,它会在运行express服务器任务时抛出警告并中止。 警告如下: Running "express-server:devServer" (express-server) task Warning: Object function createServer() { function app(req, res, next){ app.handle(req, res, next); } merge(app, proto); merge(app, EventEmitter.prototype); app.route = '/'; app.stack = []; return app; } has no method 'static' Use –force to continue. Aborted due to warnings.

如何在for循环中使用node-schedule来安排任务?

我有一个问题,我不得不在一天中的不同时间安排一些任务,为此,我正在使用一个cron来获取所有数据并相应地安排它,但是当我在FOR循环中安排工作时。 每个作业都被执行多次。 这是我的代码 for(var i=0;i<_resultDataToPushLength;i++) { var __date90=new Date(_DatesPlus90[i]) ar __date80=new Date(_DatesPlus80[i]) var __rescheduleDate=new Date(_DatesToReschedule[i]) var j = schedule.scheduleJob(scheduleId,[__date90,__date80,__rescheduleDate] , function() { console.log(scheduleId) }) } 这个日志打印多次…

Express memory.js bug,@ 3.4.8

有时当我重新加载页面时,服务器正在给出这个错误。 当我重新启动服务器,它的工作,但一段时间后,再次给同样的错误。 我只在会话中存储user_id 。 另外我正在使用Express.Io Project/node_modules/express.io/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:46 expires = 'string' == typeof sess.cookie.expires ^ TypeError: Cannot read property 'expires' of undefined at Project/node_modules/express.io/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:46:47 at process._tickCallback (node.js:419:13) App.js app.configure(function() { app.use(express.logger('dev')); app.use(express.cookieParser()); app.use(express.session({ secret: 'donkey', cookie: { maxAge: 12 * 3600000 // 12 hours }})); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); }); Express版本: 3.4.8连接版本: 2.12 ../middleware/session/memory.js 同样的问题: https […]

一个socket.io实例中有多个ChatRooms / Channels

我是nodejs-expressjs-socket.io的新手。 我正试图在socket.io的一个运行实例中实现多个聊天室/频道。 服务器: var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); app.set('port', process.env.PORT || 3000); app.use(express.static(__dirname + '/public')); app.get('/', function(req, res){ res.sendfile(__dirname + '/public/client.html'); }); io.sockets.on('connection', function(socket){ socket.on('auth-user', function(ud){ }); socket.on('join-room', function(ud){ console.log('User ' + ud.usr + ' joins in channel ' + ud.cid); socket.join(ud.cid); io.sockets.to(ud.cid).emit('update-ui',{usr:'Server', msgtype:'notification', […]

在process._tickCallback(node.js:419:13)处,NodeJs,500未能获得访问令牌(错误:连接ECONNREFUSED)

我正在使用护照GoogleStrategy来validation用户,但我得到以下错误。 你能帮我么 ? 码 passport.use(new GoogleOAuth2Strategy({ clientID : configAuth.googleAuth.clientID, clientSecret: configAuth.googleAuth.clientSecret, callbackURL: configAuth.googleAuth.callbackURL, scope: ['profile', 'email', 'openid'], passReqToCallback : true }, function(token, refreshToken, profile, done) { // User.findOne won't fire until we have all our data back from Google process.nextTick(function() { console.log(profile.id); User.findOne({ 'google.id' : profile.id }, function(err, user) { if (err) return done(err); if […]