我正在尝试使用underscore.js加载require.js,如下所示:

require(["libs/underscore-1.2.3.js"], function(_) {
    ...
});


但这不起作用,因为underscore.js导出模块名称:define('underscore', function() { ... })

在不重命名lib/underscore-1.2.3.js的情况下,如何使用require.js加载它?

最佳答案

好吧,经过更多的谷歌搜索之后,我发现:https://github.com/documentcloud/underscore/pull/338#issuecomment-3245213

哪里


  @dvdotsenko所有AMD加载程序都允许将模块ID映射到部分路径,通常该配置称为“路径”,因此您可以执行以下操作:

      requirejs.config({
       路径:
           下划线:“ js / libs / underscore-1.2.3.min”
       }
   });
   require(['下划线'],function(){});
   
  
  由于下划线由其他更高级别的模块(如骨干网)使用,因此需要使用公共依赖项名称来传达对下划线的公共依赖关系,因此将这种依赖关系称为“下划线”是有意义的。路径配置提供了一种映射到要用于该依赖项的特定URL的方法。


这不能回答我的问题(即,如果我只有URL,我仍然不知道如何加载下划线),但是至少这是一个功能性的解决方法。

关于javascript - require.js:如何加载以其他名称定义名称的模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8609554/

10-11 23:31
查看更多