在Expression Engine中从开发分支转移到主题/ CMS分支时,使用Grunt编译SCSS时出现奇怪的问题。
为了全面解释发生了什么,目前正在开发两个版本的网站。一个主要是用HTML / SCSS / Javascript构建的,SCSS正在用Grunt编译成CSS。另一个是在同一站点的Expression Engine中构建的CMS系统,因此我将第一个版本的代码转换为其他版本,以某种方式分解,以便可以在主题中使用。
这里的问题是在开发(版本1)版本中正确编译的CSS在CMS(版本2)版本中没有正确编译,但仅适用于某些类,并不是每个类都受到影响。
受影响的HTML和CSS如下:
.hero {
padding: 80px 0;
background: $color_blue_light url('../images/90650310_temp.jpg') no-repeat top center;
background-size: cover;
h1 {
font-size: 6em;
font-weight: 900;
line-height: 1em;
text-align: center;
color: white;
}
}
.mobile-logo{
display: none;
}

<div class="row mobile-logo">
<div class="col fixed-width">
<a href="/"><img src="/assets/images/AHC_Logo.svg" /></a>
</div>
</div>
<div class="row hero">
<div class="container hero-h1">
<h1>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam id augue non felis</h1>
</div>
</div>
&#13;
总而言之,版本2并未检测到h1样式,也未检测到类&#34; mobile-logo&#34;样式&#34;显示:无;&#34;被发现。但是它正在检测其他类并正确显示它们,它只是这两个类被搞乱了。除了Grunt发生的事情之外,我无法找到任何理由发生这种情况......但是没有任何错误消息。我编译和保存的所有内容如下所示,它看起来好像不编译,它被发送到我没有创建的sass-cache文件夹。附上截图:
在线查看有关缓存的堆栈溢出,看起来这对于sass来说是正常的,并且有利于编译。我不会真正看到这会导致这种不安,除非收集某些风格的规则。以前有人处理过这个吗?
答案 0 :(得分:0)
解决了,该过程在Grunt文件中找到。
watch: {
compass: {
files: ['**/*.{scss,sass}'],
tasks: ['compass:dev']
}
这将在开发环境中编译SCSS。将['compass:dev']更改为['compass:prod']并像这样创建该文件路径将解决此问题并在正确的位置编译
prod: {
options: {
sassDir: ['build/assets/sass'],
cssDir: ['public_html/assets/css'],
environment: 'production',
outputStyle: 'compact'
}
},
grunt.registerTask('default', ['compass:prod', 'concat', 'watch']);