我可以在RequireJS中的两个不同模块中导入相同的依赖项

时间:2014-06-04 17:11:24

标签: javascript requirejs

我有一个模块(dependencyA),我想在使用RequireJS时从两个独立的模块(modA和modB)调用。在这种情况下,modA是main.js文件。我在main.js的路径部分提到了依赖路径:

    paths: {
        'dependencyA': 'test/dependencyA',
//other paths
}

我在我的define函数中添加了这个依赖项(我在main.js中使用了define而不是require) - 我删除了对这篇文章的其他模块的引用

define(['dependencyA'], function (dependencyA) {

我可以使用main.js文件中的这个依赖项。 如果我希望使用moduleB中的这个依赖项,我应该在define部分中将它添加到那里吗?如果我在define部分添加它,我的requireJS模块代码似乎不正确(我的javascript代码没有被正确调用)。我不认为依赖代码是不正确的,因为从main.js文件中调用它很好。

这是我在moduleB中尝试过的:

define(["require", './test/dependencyA'], 
        function(require, dependencyA) { 

如果我从moduleB中删除对dependencyA的引用,我会收到错误,指出dependencyA未定义。

依赖模块dependencyA定义如下(我没有传递名称):

define(function() {

任何有关解决此问题的建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果为模块设置路径,只需通过该别名引用它:

define(["require", 'dependencyA'], 
        function(require, dependencyA) {