首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用具有动态生成图像路径的grunt-usemin

使用具有动态生成图像路径的grunt-usemin
EN

Stack Overflow用户
提问于 2013-11-06 09:11:26
回答 1查看 1.4K关注 0票数 4

我正在使用约曼网络应用程序生成器来构建我的静态网站。

对于我的预加载程序,我有以下代码段(如果这重要的话,我将使用requireJS作为JS )。

代码语言:javascript
复制
for(var i = 1; i <= config.numSlides; i++) {
  images.push(config.imageBase + i + '.jpg');
}

如您所见,我只生成一个带有数字的路径,并将.jpg添加到其中。我的图像被简单地称为1,2,3,.jpg。

然而,由于约曼使用咕噜-usemin..。它将我的图像文件重命名为:7f181706.3.jpg。因此,我的脚本再也找不到正确的图像了。有办法解决这个问题吗?

我在看医生的时候发现了这样的东西:

代码语言:javascript
复制
assetsDir: 'images',
patterns: {
    js: [[/(image\.png)/, 'Replacing reference to image.jpg']]
}

这是一种选择吗?我没运气就试过了。不确定正确的模式是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-16 17:13:08

您可以在这个库的测试文件中获得一个更好的代码示例,具体而言:https://github.com/yeoman/grunt-usemin/blob/master/test/test-usemin.js#L233

您可以在其中找到以下代码:

代码语言:javascript
复制
it('should allow for additional replacement patterns', function () {
  grunt.file.mkdir('images');
  grunt.file.write('images/image.2132.png', 'foo');
  grunt.log.muted = true;
  grunt.config.init();
  grunt.config('usemin', {
    js: 'misc.js',
    options: {
      assetsDirs: 'images',
      patterns: {
        js: [
          [/referenceToImage = '([^\']+)'/, 'Replacing image']
        ]
      }
    }
  });
  grunt.file.copy(path.join(__dirname, 'fixtures/misc.js'), 'misc.js');
  grunt.task.run('usemin');
  grunt.task.start();

  var changed = grunt.file.read('misc.js');

  // Check replace has performed its duty
  assert.ok(changed.match(/referenceToImage = 'image\.2132\.png'/));
});

我希望这能帮上忙!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19807901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档