javascript - instalar - Express.js "app.use() requiere una función de middleware"
node sass importer (1)
Estoy aprendiendo Express.js 4 y Node, y me aparece un error que no he podido descifrar.
Intento utilizar el paquete node-sass para compilar mi código sass, pero no he podido ponerlo en funcionamiento.
Aquí hay una versión reducida de mi archivo principal:
var express = require(''express'');
var sass = require(''node-sass'');
var app = express();
app.use(sass.middleware({
src: __dirname + "/assets",
dest: __dirname + "/static",
debug: true
}));
app.use(express.static(__dirname + ''/static''));
app.get(''/'', function(req, res){
res.send("Hello World");
});
var server = app.listen(3000, function() {
console.log("Node is now listening.");
});
Cuando ejecuto esto con el node server.js
, me node server.js
un error:
TypeError: app.use() requires middleware functions
A partir de esto, sass.middleware
que sass.middleware
no es una función de middleware ...
¿Qué significa este error?
¿Por qué está siendo arrojado?
¿Cómo lo arreglo?
La respuesta más cercana que he podido encontrar fue a partir de esta pregunta, pero de lo que obtuve aquí es que estas respuestas solo funcionarán con Express 3.
Apreciaría mucho que alguien me señale la dirección correcta para configurar Express 4 y Sass juntos (si es que esto es posible).
El readme de node-sass
menciona que el middleware se ha movido a node-sass-middleware
. Entonces, si npm install node-sass-middleware
y luego lo hace:
var sassMiddleware = require(''node-sass-middleware'');
app.use(sassMiddleware({
src: __dirname + "/assets",
dest: __dirname + "/static",
debug: true
}));
deberia de funcionar.