search

Home  >  Q&A  >  body text

javascript - 使用RequireJS加载不需调用的外部JS文件

使用Retina.js、html5shiv、respondjs这类库,只需要加载到文件中,无需调用。在RequireJS中,我的作法比较丑陋:

    require.config({ //Basic Configuration })

    //Solution ONE
    requirejs(['retina', 'html5shiv', 'respondjs'],

    function () {
        // 什么也不做...
    });

    //Solution TWO
    requirejs(['jquery', 'retina', 'html5shiv', 'respondjs'],

    function ($) {
        // 编写业务代码的时候
        // "顺道"执行这些库
        $('elem').doSomeThing();
    });

有没有一种优雅的方法可以使用requirejs引用这类无需执行的库?
感谢任何有帮助的答案。

ringa_leeringa_lee2902 days ago524

reply all(2)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 13:12:29

    没用过 RequireJS 不清楚具体情况,不过像 Retina.js、html5shiv、respondjs 这些库,直接通过 <script> 标签引入会不会更好?

    另外,一定要通过 RequireJS 引入的话,也可以考虑自己写一个辅助函数:

    //使用方法:
    //load('retina', 'html5shiv', 'respondjs')
    function load() {
      // 调用 Array.prototype.slice 是为了把 arguments 转换成真正的数组,
      // 要不然 requirejs 无法正常识别
      requirejs(Array.prototype.slice.call(arguments, 0), function(){});
    }
    

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 13:12:29

    我是用第二种方法

    reply
    0
  • Cancelreply