节点萨斯不是节点/快递编译(node-sass not compiling with node /

2019-08-18 02:53发布

我试图让节点萨斯与快递的工作,我根本无法得到它做任何编译的。 这是我的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'));
});

我有public/sasspublic/stylesheets ,但不管是什么.scss是越来越编译的文件,我把在上海社会科学院目录什么。 有更多的东西,我需要超越运行node app.js

我真的很接近放弃,只是安装SASS宝石,并保持一个额外的标签页中打开看目录。

Answer 1:

这是因为手写笔中间件混乱(指其启发,它说)。

的文件夹结构src应该模仿目标的最终结构您使用请求CSS文件的路径。 如果你希望你的CSS文件存储这样的:

./public/stylesheets/app.css

并访问该文件的URL将是:

http://.../stylesheets/app.css

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

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

而你的SASS文件夹结构是这样的:

./public/sass/stylesheets/app.scss

我相信,它的工作原理是这样的:

  • 采取HTTP请求的路径: /stylesheets/app.css
  • 找到SCSS文件,并置的URL路径src和替换扩展: ./public/sass/stylesheets/app.scss
  • 为目标,串联的URL路径dest./public/stylesheets/app.css


Answer 2:

尝试使用前缀选项:

app.use(sass.middleware({
    src: __dirname + '/public/sass',
    dest: __dirname + '/public', 
    prefix:  '/stylesheets'
    debug: true
}));


Answer 3:

我有获取节点萨斯中间件的工作类似的问题。 我最终还是放弃了,并试图资产架 ,我也无法得到工作,直到我开始使用这个叉: https://github.com/techpines/asset-rack/pull/76

沮丧的资产架叉拉入请求已经围坐了11个月,我结束了只写叫我自己的静态文件的中间件电力支持其他一些不错的功能之中萨斯。



文章来源: node-sass not compiling with node / express