节点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