node.jsアプリケーションでjQueryを使用しようとしています。 Can I use jQuery with Node.js?によれば十分に簡単だと思われますが、私がnpm install jQuery jsdom htmlparser xmlhttprequest
を実行しようとしたときに、単にnpm install jQuery
のどちらも私のために働かないようでした。ここで私が得たエラーメッセージの全文は次のとおりです。node.jsでjqueryをインストールしようとすると、エラーメッセージが表示される
$ npm install jQuery jsdom htmlparser xmlhttprequest
npm http GET https://registry.npmjs.org/htmlparser
npm http GET https://registry.npmjs.org/jQuery
npm http GET https://registry.npmjs.org/xmlhttprequest
npm http GET https://registry.npmjs.org/jsdom
npm http 304 https://registry.npmjs.org/jsdom
npm http 304 https://registry.npmjs.org/htmlparser
npm http 304 https://registry.npmjs.org/xmlhttprequest
npm http 200 https://registry.npmjs.org/jQuery
npm http GET https://registry.npmjs.org/contextify
npm http GET https://registry.npmjs.org/cssom
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/contextify
npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/request
npm http GET https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/bindings
> [email protected] install /Users/nicmeiring/node_modules/jsdom/node_modules/contextify
> node-gyp rebuild
info it worked if it ends with ok
spawn python [ '/Users/nicmeiring/.node-gyp/0.6.14/tools/gyp_addon',
'binding.gyp',
'-I/Users/nicmeiring/node_modules/jsdom/node_modules/contextify/build/config.gypi',
'-f',
'make' ]
ERR! Error: not found: make
at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:28)
at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29)
at Object.oncomplete (/usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16)
ERR! not ok
npm WARN optional dependency failed, continuing [email protected]
[email protected] ./node_modules/xmlhttprequest
[email protected] ./node_modules/jquery
[email protected] ./node_modules/htmlparser
[email protected] ./node_modules/jsdom
├── [email protected]
└── [email protected]
私のNode.jsアプリケーションファイルでは(app.js)私は予想通り、var $ = require('jQuery)
を使用してjqueryのモジュールが含まれていますが、ときに私は、エラーを返します私のアプリケーションでjQueryを使ってみてください。何が原因でインストールが失敗するのでしょうか?ありがとう
更新: jqueryモジュールが正常にインストールされましたが、私のアプリケーションを実行しようとすると新しいエラーが発生しています。
app.js
var express = require('express')
, routes = require('./routes')
, $ = require('jquery');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', routes.index);
app.get('/', routes.getData);
app.listen(4000);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
とindex.js
var $ = require('jquery');
exports.index = function(req, res){
console.log("rendering index.html")
res.render('layout', { title: 'Express' })
};
var link = "http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?"
exports.getData = $.ajax({
url: link,
dataType: JSON,
data: data,
success: function(data) {
console.log(data);
console.log(data.parse.text['*']);
}
});
と、ここで私はアプリ
Nic-Meirings-MacBook-Pro:Wiki2 nicmeiring$ node app
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
ReferenceError: $ is not defined
at Object.<anonymous> (/Users/nicmeiring/Sites/Wiki2/routes/index.js:16:19)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous> (/Users/nicmeiring/Sites/Wiki2/app.js:7:14)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
あなたがコンソールに「作る」と入力すると、あなたは何を参照ください:ここではSO関連の質問はありますか?これは私のUbuntuでノード0.6.14 – Mustafa
でうまくいきます。あなたが入力した場所に "make"と入力する場所はどこですか? –
...? – Mustafa