如何使用 retina.js 和 require.js?

How to use retina.js with require.js?

有没有办法使用retina.js v2.0 as AMD module for require.js

我试过这样做:

main.js 文件:

paths: {
  retina: 'path/to/retina'
}
shim: {
   retina : {
     exports: "retina"
   }
}

requirejs(['retina']);

HTML 文件 - 带有低分辨率图像源的常规图像标签。 Retina.js 通过 require.js 加载,但图像未交换为 @2x 图像。 此解决方案无效。

尝试 2 - 在没有垫片的情况下尝试 - 它不起作用。

尝试 3 - 将 data-rjs="path/to/image@2x.png" 添加到图像标签 - 它不起作用

我是不是做错了什么?

经过一番挖掘,我找到了答案

Shim 必须这样定义:

shim: {
  "retina" : {
    exports: "retinajs"
  }
}

当你需要这个脚本时,你必须这样做:

requirejs(['retina'], function(retina) {
  retina();          
});

适用于定义了data-rjs属性的图像。

<img src="image.png" data-rjs="image@2x.png" />