javascript - 如何启用 Stylus url() 重写

标签 javascript css gruntjs stylus

我正在尝试让手写笔 URL 起作用。我想将 url('/path/to/img.png') 转换为 base64 编码形式。

我正在尝试遵循文档 here ,但这对我帮助不大。

我尝试添加要求位和示例函数,导入 url,但不确定如何启用它。

我如何让它工作?

更新:

尝试使用 grunt-image-embed插件。

这是我的 grunt 配置:

imageEmbed: {
  dist: {
    src: [ "./public/local/css/images.css" ],
    dest: "./public/prod/css/images.css",
    options: {
      deleteAfterEncoding : false
    }
  }
},

CSS 包含:

#footer-social .youtube {
  width: 18px;
  background-image: url('/img/youtube-icon.png');
}

产生错误的地方:

Warning: File C:\path\...\grunt-image-embed\tasks\lib\img\youtube-icon.png
does not exist Use --force to continue.

如果我删除 background-image 行,一切正常。我无法修改 css 中的路径,因为在 local 上我们使用实际图像的相对路径。

最佳答案

试试这个:

function compile(str, path) {
  return stylus(str)
            .define('url', stylus.url({
              paths : [__dirname + '/public'],
              limit : 10000
            }));
}

从这里开始:

http://bengourley.co.uk/using-stylus

它在这里对我有用:

https://github.com/MichaelJCole/wintersmith-stylus/blob/master/plugin.coffee

这是 coffeescript,有趣的部分是:

      stylus(@_text, options)
      .use(nib())
      .define('url', stylus.url(
        paths : [__dirname + '/public']
        limit : locals.inlineSpriteMaxBytes || 0 ) )
      .render (err, css) ->
        if err
          callback err
        else
          callback null, new Buffer css

关于javascript - 如何启用 Stylus url() 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18140803/

相关文章:

gruntjs - 何时使用 gruntjs 作为 JavaScript 开发人员

javascript - 无法标记通过javascript动态选中的复选框

php - CSS - IE7 无法正确/完整地呈现文本框和一些下拉字段

html - 在 Wordpress 主题中使用 CSS 作为导航栏

javascript - 无法让我的 JavaScript babel 工作

javascript - 无法让 Jasmine 使用基本库

javascript - Firefox 网站如何突出显示导航栏上的项目?

javascript - 在 Chrome 中裁剪 3D CSS 元素或在 Firefox 中根本没有 3D

javascript - 我可以使用 useSelector() 返回更深层次的嵌套属性/状态值吗?

javascript - 图像不会在 IE 中加载