4

有什么我可以使用的东西可以快速将多个 CSS 导入合并到一个 CSS 文件中。

例如,假设我有一个主要的 styles.css 文件,该文件在开发期间有大量的导入:

@import url('normalize.css');
@import url('1.css');
@import url('2.css');
...
@import url('10.css');

我在开发过程中将它们分开只是为了我自己的理智。

我想在生产过程中将 HTTP 请求最小化为 1 个样式文件,而不是 11、12 等。

那么,除了手动复制/粘贴到一个文件之外,还有什么可以将这些导入文件放入 1 个文件中的吗?

LESS 或 SASS 会做这样的事情吗?

4

3 回答 3

2

基于 yuicompressor 的 css-compressor 就是这样做的:

https://github.com/samilyak/css-compressor

于 2013-05-14T12:08:11.207 回答
1

LESS 和 SASS 可以做到这一点,甚至更多。有许多服务器端方法可以将您的 css 文件整理到一个文档中(使用 js 也可以做到这一点,但我不推荐这样做,因为关闭 js 会丢失您的样式)

如果我没记错的话,Yahoo YUI 压缩器/Rhino 也会这样做:http: //developer.yahoo.com/yui/compressor/#work

如果您检查全局选项,则此选项适合您:

-o 输出文件

  Place output in file outfile. If not specified, the YUI Compressor will
  default to the standard output, which you can redirect to a file.
  Supports a filter syntax for expressing the output pattern when there are
  multiple input files.  ex:
      java -jar yuicompressor.jar -o '.css$:-min.css' *.css
  ... will minify all .css files and save them as -min.css
于 2012-06-13T13:27:14.270 回答
0

使用 YUI Compressor 的最简单方法是下载需要 Java 的二进制文件,然后在命令行上执行它们:

java -jar yuicompressor-xyzjar foo.js | foo.min.js

但是,您可以在部署时以编程方式执行此操作。如果您使用的是 Sprockets 或 Less 之类的库,他们会为您执行此操作。除此之外,还有几个 YUI Compressor 的接口库,例如 Sam Stephenson 的 Ruby-YUI-compressor gem 或 Jammit 库。

于 2012-06-13T14:15:41.993 回答