节点sass中间件不使用快速渲染

我遇到了一个问题,那就是node-sass-middleware没有渲染我的css,这里是我的中间件代码:

// adding the sass middleware app.use(sassMiddleware({ /* Options */ src: path.join(__dirname, "public/sass"), dest: path.join(__dirname, "public/css"), debug: true, outputStyle: 'compressed', prefix: '/static/css' // Where prefix is at <link rel="stylesheets" href="prefix/style.css"/> })); app.use(express.static(path.join(__dirname, 'public'))); 

我在控制台上得到这个:

  source: ~\public\sass\style.scss dest: ~\public\css\style.css read: ~\public\css\style.css 

但是,CSS文件从来没有呈现,网站没有收到文件。

这是我从package.json依赖列表更多的信息:

 "dependencies": { "ejs": "~2.5.2", "express": "~4.14.0", "node-sass": "^3.13.0", "node-sass-middleware": "^0.10.0" } 

编辑,如果我删除前缀线我得到:

  source: ~\public\sass\static\css\style.scss dest: ~\public\css\static\css\style.css read: ~\public\css\static\css\style.css 

编辑文件树:

 │ index.js │ package.json │ ├───public │ ├───css │ ├───img │ │ background.jpg │ │ │ ├───js │ └───sass │ captus.sass │ ├───routes │ index.js │ └───views │ main.ejs │ └───partials └───main └───pages about.ejs home.ejs 

您需要将转发模式设置为Transpile *.sass文件,添加

 // adding the sass middleware app.use(sassMiddleware({ /* Options */ src: path.join(__dirname, "public/sass"), dest: path.join(__dirname, "public/css"), debug: true, indentedSyntax: true,//add this to use SASS files outputStyle: 'compressed', prefix: '/static/css' })); 

把我的sass文件重命名为scss修复了这个问题。

感谢am11在这里给我他自己的工作示例,最终导致了一个修复: https : //github.com/sass/node-sass-middleware/issues/70