2015-10-02 43 views
0

尝试在项目中使用URI.js库,但在RequireJS中遇到问题。 URI的自述文件表明它可以与requirejs一起使用 - 当您使用源代码时这是正确的 - 但是在自己使用minified/concatenated distribution file时不适用 - 就像您在制作时一样。使用RequireJS从级联文件加载特定模块

他们的构建过程将多个库抽取到一个.min文件中,它们都将自己定义为模块。

无论我如何需要该脚本,我收到的唯一参数是其分发文件(IPv6)中的第一个模块,这不是我所需要的。

有什么小事我失踪了吗?

<script> 
require.config({ 
    paths: { 
     urijs: 'dist/URI' 
    } 
}); 

require(['urijs'], function(URI) { 
    console.log(URI); 
}); 
</script> 
+0

你需要什么模块? – Buzinas

+0

URI本身。我会考虑定制构建,以省略可选模块,但我们通过'bower'使用它,并且正在寻找一个简单的实用程序,而不是我们必须定制的编译/缩小 – helion3

回答

0

确实不能使用缩小的文件,因为它没有正确建立。所有define调用都是匿名的,但它们应该包含模块名称。如果他们有,你可以使用缩小文件。

为了得到它的工作,在paths配置,我已经把urijs指向包含所有模块的个人.js文件的目录,然后我需要URI.js'urijs/URI'。我让r.js缩小它分配我的代码。

我用npm安装了它,但我刚刚检查了bower,过程应该完全一样。

+0

我有一种感觉,那就是原因,谢谢。我不使用'r.js',当我们部署到生产环境时,我们会将缩小的文件复制到bower库中,这意味着我需要包含这些额外的文件,并且b)我仍然无法连接它们,这意味着我有一个单一的库有四个新的http请求 - 这是不可接受的。我最近从URI作者处得到了答复:“如果您使用require,则可能需要使用源文件”。难以置信的。 – helion3