【问题标题】:Rails - Inline scss file in JavascriptRails - Javascript 中的内联 scss 文件
【发布时间】:2012-07-06 18:07:11
【问题描述】:

我在使用资产管道的 Rails 3.2。

我想在 javascript 字符串中内联一些缩小的 css(从我正在编写的 JS 库中动态包含它)。我的css是用scss写的,我的js是用coffeescript写的。

你知道怎么做吗?

【问题讨论】:

  • 等等,为什么?为什么不直接将它包含在您的 haml/html/erb 中?
  • 我没有任何 html。我正在编写一个在 DOM 中编写动态 html/css 的 JS 库
  • 啊有趣。你能给我一个更清楚的例子来说明你正在尝试做什么吗?我也许可以帮助你
  • 我正在开发以下小部件:sharypic.com/widget。如您所见,css 是异步下载的,这会使网站闪烁(内容首先呈现无样式,然后下载 css)。这就是为什么我想在小部件 js 代码中内联 css。
  • 只需将您的库分发为 CSS 文件和 JavaScript 文件。这就是它在其他任何地方的实现方式。

标签: ruby-on-rails coffeescript asset-pipeline sass


【解决方案1】:

我会和@meagar 一起去拥有一个 CSS 和一个 JavaScript 文件。

但是,如果您真的想通过 javascript 获取它,您可以添加一个异步 get 调用(如 $.get)并将响应作为新字符串处理。丑吗,哼?

另一种选择是生成 CSS 输出并将其手动放入您的 javascript 中,或者更好的是,将其加载到您的咖啡脚本文件中,如下所示:

for filename in list
  do (filename) ->
    fs.readFile filename, (err, contents) ->
      compile filename, contents.toString()

(以coffescript.org为例)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 2012-09-27
    • 2019-10-12
    • 2010-11-12
    • 2010-12-20
    • 1970-01-01
    • 2017-09-22
    相关资源
    最近更新 更多