0

この質問のように、nowjsをexpress 3.0で動作させようとしています。コードに従っていますが、「現在は定義されていません」というメッセージが表示されます。

Oracle VM 仮想ボックスで Ubuntu 12.04 を実行しています。

最初に Express アプリを作成します。

$ 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);
4

2 に答える 2

0

詳細については、この回答を参照してください:モジュール 'now' が見つかりません - nowjs および nodejs

npm config set global true && \
     echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bashrc && \
     . ~/.bashrc

グローバル フラグを使用して再試行してください

sudo npm install now -g
于 2012-08-14T22:58:45.367 に答える
0

サーバーで nowjs を使用する前に、以下を呼び出す必要があります。

var nowjs = require('now');

クライアントで nowjs を使用するには、HTML にスクリプト参照を含める必要があります。

<script src="/nowjs/now.js"></script>
于 2012-08-14T05:15:28.493 に答える