node-sass没有用node/express编译

bjo*_*k24 8 sass node.js express

我正在尝试使用express来运行node-sass,而我根本无法让它进行任何编译.这是我的app.js文件:

var express = require('express')
  , sass = require('node-sass')
  , routes = require('./routes')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path');

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'ejs');
  app.use(sass.middleware({
     src: __dirname + '/public/sass',
     dest: __dirname + '/public/stylesheets', 
     debug: true
  }));
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('your secret here'));
  app.use(express.session());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)

我有public/sasspublic/stylesheets,但不管.scss我在上海社会科学院目录中没有将文件是越来越编译.还有什么我需要超越的东西node app.js吗?

我真的很放弃,只需安装sass gem并保持一个额外的标签打开以观看目录.

rob*_*lep 8

它与Stylus中间件一样令人困惑(它的灵感来自于它).

文件夹结构src应该模仿目标的最终结构您用来请求CSS文件的路径.如果您希望您的CSS文件存储如下:

./public/stylesheets/app.css
Run Code Online (Sandbox Code Playgroud)

并且访问该文件的URL将是:

http://.../stylesheets/app.css
Run Code Online (Sandbox Code Playgroud)

您需要像这样配置中间件:

app.use(sass.middleware({
   src:   __dirname + '/public/sass',
   dest:  __dirname + '/public',
   debug: true
}));
Run Code Online (Sandbox Code Playgroud)

你的SASS文件夹结构如下:

./public/sass/stylesheets/app.scss
Run Code Online (Sandbox Code Playgroud)

我相信它的工作原理如下:

  • 获取HTTP请求的路径: /stylesheets/app.css
  • 要查找SCSS文件,请将URL路径连接到src并替换扩展名:./public/sass/stylesheets/app.scss
  • 对于目标,将URL路径连接到dest:./public/stylesheets/app.css