meteor是否在构建时忽略/省略预处理的sass / styl / scss文件?

时间:2018-03-25 11:07:49

标签: meteor sass ignore css-preprocessor

我正在使用fourseven:scss包进行流星,以便在我的流星项目中使用scss。

.scss文件与所有.js和.html文件一起存储在客户端文件夹中。

我担心meteor会在构建时包含我的所有.scss文件,因此在运行时会向客户端发送过多的数据。即。它发送.css和.scss。

我不希望meteor包含任何scss文件,只包含css文件。

尝试阅读有关fourseven包的氛围文档,以及流星网站上的流星构建文档。但我仍然不确定是否包含.scss文件。

有没有人对如何确定有任何想法?

1 个答案:

答案 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

该文件夹的结构和内容表示本地构建,其中还运行了编译样式等的预处理程序。在这里,您至少可以手动验证是否已创建所需的输出文件。