Cod*_*ein 0 sass node.js node-sass
我正在尝试使用,node-sass-middleware但它没有创建.css我的.scss文件。
我的文件结构(简化)是
- node-modules
- public
|- common
| |-sass
| | |-style.scss
| |-css
- server.js
Run Code Online (Sandbox Code Playgroud)
和代码server.js有
var cssLoc = __dirname + "\\public\\common\\css";
var cssDest = __dirname + "\\public\\common";
console.log(cssLoc);
console.log(cssDest);
app.use(sass({
src: cssLoc,
dest: cssDest,
debug: true,
outputStyle: 'compressed'
}));
app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这不起作用。这是非常令人沮丧的。
它不工作的很可能的原因是因为令人困惑的node-sass-middleware将采用其src和dest属性中指定的路径,然后查看html 中的本地css文件引用标签,获取它们引用的路径,并在指定的src和dest路径中查找那些确切的路径。
示例(在您的 app.js 文件中):
var nodeSassMiddleware = require('node-sass-middleware');
app.use(nodeSassMiddleware({
src: path.join(__dirname, 'assets'),
dest: path.join(__dirname, 'public')
});
Run Code Online (Sandbox Code Playgroud)
然后在您的基本 html 文件中包含一个链接标签,如下所示:
<link rel="stylesheet" type="text/css" href="/immediate/style.css"
node-sass-middleware将查找/assets/immediate/style.scss并将该文件输出到/public/immediate/style.css
一旦您意识到正在发生的事情,它实际上非常漂亮:),在您的控制台中启动您的服务器并访问浏览器中的链接,您的控制台将记录正在使用的实际源路径和目标路径。
把我的头撞在墙上一会儿想通了,希望它有帮助!
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |