我正在学习Express.js 4和Node,而且我收到的错误是我无法弄明白的。
我尝试使用node-sass包来编译我的sass代码,但我还没有能够启动并运行它。
以下是我的主文件的精简版:
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.");
});
当我用node server.js
运行时,我收到一个错误:
TypeError: app.use() requires middleware functions
由此,我假设sass.middleware
不是中间件功能...
答案 0 :(得分:7)
node-sass
自述文件提到middleware has been moved到node-sass-middleware
。因此,如果您npm install node-sass-middleware
然后执行:
var sassMiddleware = require('node-sass-middleware');
app.use(sassMiddleware({
src: __dirname + "/assets",
dest: __dirname + "/static",
debug: true
}));
它应该有用。