7 javascript sass node.js express
我已经node-sass-middleware在我的快速应用程序上安装了该模块,但是我没有这样做,只是因为中间件正在读取不正确的源,当我调试控制台日志时:
GET / 200 558.983 ms - 4651
source: /home/karim/Snippets/my-financial/public/stylesheets/sass/stylesheets/main.sass
dest: /home/karim/Snippets/my-financial/public/stylesheets/stylesheets/main.css
read: /home/karim/Snippets/my-financial/public/stylesheets/stylesheets/main.css
Run Code Online (Sandbox Code Playgroud)
哪两个目录都错了,为什么中间件stylesheets/在source/ dest(..public/stylesheets/sass/)和.sass file/ .css file(main.sass和main.css)之间添加字符串?
我在我的内部有这个配置app.js:
var sassMiddleware = require('node-sass-middleware');
...
...
var app = express();
app.use(sassMiddleware({
src: path.join(__dirname, 'public/stylesheets/sass'),
dest: path.join(__dirname, 'public/stylesheets'),
debug: true,
indentedSyntax: true,
outputStyle: 'compressed'
}));
Run Code Online (Sandbox Code Playgroud)
显然这不是编译任何东西,因为目录是错误的.在..public/stylesheets/sass/文件夹里面我只有一个文件,main.sass我想编译并将结果移到sass/文件夹之外,我的意思是..public/stylesheets/.
Ver*_*ger 10
那是因为 - 我很确定 - 在你的html文件中有类似的东西:
<head>
<!--All your head stuff and-->
<link rel="stylesheet" href="/stylesheets/main.css"/>
</head>
Run Code Online (Sandbox Code Playgroud)
- 让我们将href称为yourAwesomeHref一会儿.
当您的服务器收到任何get请求时,中间件将查找后续编译的 main.sass on /home/karim/Snippets/my-financial/public/stylesheets(dest中间件选项)yourAwesomeHref,从而产生以下路由:
/home/karim/Snippets/my-financial/public/stylesheets/stylesheets/main.css
Run Code Online (Sandbox Code Playgroud)
哪个文件显然根本不存在!因此,您必须添加prefix: "/stylesheets"中间件以避免该问题.
最终的代码是:
var sassMiddleware = require('node-sass-middleware');
...
...
var app = express();
app.use(sassMiddleware({
src: path.join(__dirname, 'public/stylesheets/sass'),
dest: path.join(__dirname, 'public/stylesheets'),
debug: true,
indentedSyntax: true,
outputStyle: 'compressed',
prefix: '/stylesheets'
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4843 次 |
| 最近记录: |