node-sass-middleware没有编译

Aid*_*Gee 12 sass node.js express

我试图让node-sass-middleware与express一起工作.该应用程序运行没有错误

...(modules)
var sassMiddleware = require('node-sass-middleware');

var routes = require('./routes/index');

var app = express();

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
//---- LOAD SASS -----//
// adding the sass middleware
var srcPath = __dirname + '/scss';
var destPath = __dirname + '/public/stylesheets';
app.use(sassMiddleware({
  src: srcPath,
  dest: destPath,
  debug: true,
  outputStyle: 'compressed'
}));

app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到我试图编译sass的方式有什么问题吗?

文件结构:

app
controllers
routes
public
-stylesheets
scss
...
Run Code Online (Sandbox Code Playgroud)

Rah*_*bub 8

这就是app.js应该是这样的:

app.use(sassMiddleware({
  src: srcPath,
  dest: destPath,
  debug: true,
  outputStyle: 'compressed'
}),
express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

您的主要scss文件也应命名为style.scss并位于scss/stylesheets /目录中.

如果您已正确加载模块,您应该看到这样的日志:

  source : /Users/abc/Desktop/SO/SO_node/scss/stylesheets/style.scss
  dest : /Users/abc/Desktop/SO/SO_node/public/stylesheets/stylesheets/style.css
  read : /Users/abc/Desktop/SO/SO_node/public/stylesheets/stylesheets/style.css
  render : /Users/abc/Desktop/SO/SO_node/scss/stylesheets/style.scss
Run Code Online (Sandbox Code Playgroud)


ken*_*nny 5

问题也可能是您想要编译scss

代替sass。因此设置indentedSyntaxfalse.

app.use(require('node-sass-middleware')({
  src: path.join(__dirname, 'scss'),
  dest: path.join(__dirname, 'public'),
  indentedSyntax : false,
  sourceMap: true
}));
Run Code Online (Sandbox Code Playgroud)

或者完全删除它。Express-generator 默认添加此值。