私はMEANスタックを始めようとしています。そして、私はこのチュートリアルに従っています: link
Test Our Serverセクションまで作成しました。ここに
// modules =================================================
var express = require('express');
var app = express();
var mongoose= require('mongoose');
// configuration ===========================================
// config files
var db = require('./config/db');
var port = process.env.PORT || 8080; // set our port
mongoose.connect(db.url); // connect to our mongoDB database (uncomment after you enter in your own credentials in config/db.js)
app.configure(function() {
app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users
app.use(express.logger('dev')); // log every request to the console
app.use(express.bodyParser()); // have the ability to pull information from html in POST
app.use(express.methodOverride()); // have the ability to simulate DELETE and PUT
});
// routes ==================================================
require('./app/routes')(app); // configure our routes
// start app ===============================================
app.listen(port); // startup our app at http://localhost:8080
console.log('Magic happens on port ' + port); // shoutout to the user
exports = module.exports = app; // expose app
走るとき
nodemon server.js
このエラーが表示されます
app.configure(function() {
^
TypeError: Object function (req, res, next) {
app.handle(req, res, next);
} has no method 'configure'
at Object.<anonymous> (C:\Users\Yuksel\Desktop\node\test\server.js:14:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
5 Mar 17:27:20 - [nodemon] app crashed - waiting for file changes before startin
g...
アプリにはconfigureメソッドがないというだけです(私は推測します)。ただし、configureパーツを削除して再度実行すると機能します(つまり、アプリには.listenメソッドがあるため、エクスプレスオブジェクトです)。
Nodeとnodemonの両方で試しました。そして、私はそれを理解できませんでした。お時間をいただきありがとうございます。
Configureメソッドは、バージョン4.0.0(4.0.0-rc2を含む)からexpressから削除されました。 https://github.com/strongloop/express/blob/master/History.md#400--2014-04-09 の変更ログを参照してください
Tomのブログ投稿で new-features-node-express-4 は、Expressバージョン3.xのapp.configureの使用からExpressバージョン4.0での削除に変換する方法の例を示しています。
便宜上、以下のコード例を追加しました。
バージョン3.x
// all environments
app.configure(function(){
app.set('title', 'Application Title');
})
// development only
app.configure('development', function(){
app.set('mongodb_uri', 'mongo://localhost/dev');
})
// production only
app.configure('production', function(){
app.set('mongodb_uri', 'mongo://localhost/prod');
})
バージョン4.0
// all environments
app.set('title', 'Application Title');
// development only
if ('development' == app.get('env')) {
app.set('mongodb_uri', 'mongo://localhost/dev');
}
// production only
if ('production' == app.get('env')) {
app.set('mongodb_uri', 'mongo://localhost/prod');
}