Nowjs仍然没有使用快递3.0
我试图让nowjs使用快递3.0,就像在this问题一样。我正在关注代码,但我仍然得到“现在没有定义”。Nowjs仍然没有使用快递3.0
我在Oracle VM虚拟框中运行Ubuntu 12.04。
首先我创建一个快速应用程序。
$ express myBrilliantNewApp
然后,我安装nowjs在新的目录中。
$ sudo npm install now
添加服务器变量并立即使用它。
var server = http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
})
var everyone = require('now').initialize(server);
然后,我应该能够做到这一点...
everyone.now.writesomething = function() {
console.log('I would really like it if this shows up at the console')
};
...和拨打电话,并检查什么大家是怎么一回事。
now.writesomething();
console.log(everyone);
它不起作用。我得到:
[ReferenceError: now is not defined]
ReferenceError: now is not defined
at Object.<anonymous> (/home/jan/dev/apps/probeer1/app.js:44:1)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
谁能告诉我我在做什么错在这里?
全面上市app.js
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
var server = http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
})
var everyone = require('now').initialize(server);
everyone.now.writesomething = function() {
console.log('I would really like it if this shows up at the console')
};
now.writesomething();
console.log(everyone);
在服务器上使用nowjs之前,你需要调用:
var nowjs = require('now');
要在客户机上使用nowjs你需要在你的HTML的脚本参考:
<script src="/nowjs/now.js"></script>
看到这个答案的详细信息:Cannot find module 'now' - nowjs and nodejs
npm config set global true && \
echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bashrc && \
. ~/.bashrc
与全局标志
sudo npm install now -g
这似乎确实是问题,虽然NODE_PATH变量似乎确定。 echo $ NODE_PATH =>/usr/local/lib/node_modules。问题依然存在。我得到,检查节点路径:找不到,与npm安装时。例如,尝试使用dnode时出现同样的错误。 – 2012-08-16 07:04:02
我已经尝试过全球和本地。不起作用。也许有与NODE_PATH env变量的用户范围的东西? – 2012-08-16 11:51:56
日Thnx与我忘了代码修修补补后再试一次,是我不好。放回去。然而,相同(种类)的问题 – 2012-08-14 05:28:10
您是否在客户端包含了now.js脚本引用?查看更新的答案。 – JohnnyHK 2012-08-14 15:20:31
我试图做一个干净的错误再现,从服务器端调用一个函数。查看更新的问题。这应该工作吗? – 2012-08-14 21:41:44