javascript - img - title html
Express no tiene error de configuración de método (2)
El método de configuración se ha eliminado de Express a partir de la versión 4.0.0 (incluido 4.0.0-rc2). Consulte el registro de cambios en https://github.com/strongloop/express/blob/master/History.md#400--2014-04-09
Estoy tratando de empezar con la pila MEAN. Y estoy siguiendo este tutorial: link
Lo he hecho hasta la sección Test Our Server . aquí
// 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
Cuando corro
nodemon server.js
Me sale este error
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...
Simplemente dice que la aplicación no tiene ningún método de configuración (supongo). Pero cuando elimino la parte de configuración y la ejecuto de nuevo, funciona (esta aplicación significa que tiene el método .listen, por lo que es un objeto expreso).
Lo he intentado tanto con nodo como con nodemon. Y no pude entenderlo. Gracias por tu tiempo.
Tom en su publicación de blog new-features-node-express-4 proporciona ejemplos de cómo convertir el uso de app.configure en Express versión 3.x para eliminarlo en Express versión 4.0.
Por conveniencia agregué el siguiente ejemplo de código.
Versión 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'');
})
Versión 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'');
}