所以我想说我有一些我开发和编写的库代码。我在开发期间使用RequireJS并且具有依赖于另一个文件的根级文件。所以它define
看起来像......
// lib/main.js
define(['lib/dep1'] function(dep1) {
...
})
我在导致dist/myLibrary.js
的代码上运行r.js,看起来像这样:
define('lib/dep1',[], function(){...})
define('lib/main',["lib/dep1"], function(dep1){...})
如果我将myLibrary.js
直接拉入另一个项目,它将无效。没有任何东西将自己定义为该文件的模块。但是,如果我附加一个实际的模块定义,它就可以工作。
define('lib/dep1',[], function(){...})
define('lib/main',["lib/dep1"], function(dep1){...})
define(['lib/main'], function(lib) {
return lib;
})
['lib/main']
似乎是作用于模块的,因为如果我的应用中有一个实际的lib/main
,它就不会被使用。
问题:
lib/main
被识别为来自同一文件的模块ID而不是在其他地方查找它的事实。如果我导入10个这样的库都有lib/main
,它们就不会发生碰撞?