我正在使用fourseven:scss包进行流星,以便在我的流星项目中使用scss。
.scss文件与所有.js和.html文件一起存储在客户端文件夹中。
我担心meteor会在构建时包含我的所有.scss文件,因此在运行时会向客户端发送过多的数据。即。它发送.css和.scss。
我不希望meteor包含任何scss文件,只包含css文件。
尝试阅读有关fourseven包的氛围文档,以及流星网站上的流星构建文档。但我仍然不确定是否包含.scss文件。
有没有人对如何确定有任何想法?
答案 0 :(得分:1)
Meteor guide for compiling styles说明如下:
在Meteor中,每个.scss,.less或.styl源文件都是 两种类型中的一种:“来源”或“导入”。
急切地评估“源”文件,并将其编译后的表单添加到 应用程序的CSS立即。
仅在从其他文件导入时评估“导入”文件 并可用于分享不同之间的常见mixins和变量 您应用中的CSS文件。
所以你基本上想要的是将你的文件标记为导入文件,这样它们只会在导入时进行评估。
fourseven:scss的文档为您提供了一种方法:
Sass import / partials,它们是:
- 前缀的文件
带有下划线_
在包的package.js文件中标记为isImport:true: api.addFiles('x.scss','client',{isImport:true})
- 从Meteor 1.3开始,名为imports /
的目录中的所有文件
因此,为了达到您想要的结果,您应该使用提供的方法之一将它们标记为进口。
关于此的说明:
不要忘记,所包含的文件将编译为css,如链接指南所述。所以在生产的最终构建中将只有css没有scss。
另一个注意事项:
您可以通过运行本地Meteor应用程序来验证自己并检查以下文件夹内容:
<projectPath>/.meteor/local/build/programs/web.browser
该文件夹的结构和内容表示本地构建,其中还运行了编译样式等的预处理程序。在这里,您至少可以手动验证是否已创建所需的输出文件。