Javascript RequireJS-在r.js优化包中导入模块
是否可以从优化的RequireJS/r.js包中导入单个模块 我有一个javascript项目,分为两个独立的组件——“MyLibrary”和“MyApplication” MyLibrary由两个独立的模块组成,“MyModule1”和“MyModule2” 在开发模式下,我可以使用RequireJS从MyApplication中导入这些模块,并使用正常的define(['MyLibrary/MyModule1'],function(){})语法 然而,一旦通过r.js运行MyLibrary,这似乎就不可能了——似乎不再有直接引用内部模块的方法了 我可以从编译/优化的源代码中看到,每个模块都有define()块,但是我的应用程序中的RequireJS似乎无法直接引用这些块 这是可能的,或者我需要将整个应用程序捆绑到一个文件中才能工作 编辑:RequireJS优化阶段在我的Play框架中完成,我对构建配置的控制最小Javascript RequireJS-在r.js优化包中导入模块,javascript,requirejs,Javascript,Requirejs,是否可以从优化的RequireJS/r.js包中导入单个模块 我有一个javascript项目,分为两个独立的组件——“MyLibrary”和“MyApplication” MyLibrary由两个独立的模块组成,“MyModule1”和“MyModule2” 在开发模式下,我可以使用RequireJS从MyApplication中导入这些模块,并使用正常的define(['MyLibrary/MyModule1'],function(){})语法 然而,一旦通过r.js运行MyLibrary,
({appDir: "javascripts",
[info] baseUrl: ".",
[info] dir:"javascripts-min", mainConfigFile: "javascripts/build.js", modules: [{name: "main"}]})
为了使用库中的模块,您需要指导RequireJS如何查找这些模块。在main.js中,您需要有如下内容:
require.config({
// ...
paths: {
// ...
'MyLibraryBundleName': 'dist/MyLibraryFile',
// ...
},
// ...
bundles: {
//...
'MyLibraryBundleName': ['MyLibrary/MyModule1', 'MyLibrary/MyModule2'],
//...
}
});
define(['MyLibrary/MyModule1'],function(){})
当MyApplication引用这样的模块时:
require.config({
// ...
paths: {
// ...
'MyLibraryBundleName': 'dist/MyLibraryFile',
// ...
},
// ...
bundles: {
//...
'MyLibraryBundleName': ['MyLibrary/MyModule1', 'MyLibrary/MyModule2'],
//...
}
});
define(['MyLibrary/MyModule1'],function(){})
。。。正如你所说,RequireJS将查找“MyLibrary/MyModule1”,并将在“bundles”部分找到它,然后检查“path”部分以找到将要加载的实际文件“dist/MyLibraryFile”。你能发布你的r.js构建配置和任何其他相关代码吗?构建文件是由我使用的框架动态生成的(播放2.1),而且也没有太多。我还是要加上它。