【发布时间】:2013-06-04 16:56:07
【问题描述】:
尝试用谷歌搜索我的内心内容,并在 requirejs 上搜索 API 文档,但无济于事。
是否可以根据我将使用的脚本文件/模块的前缀指定 requirejs 使用的路径前缀?
我想在所有对“kendo.xxxModuleNamexxx.min.js”的调用前加上“kendo/kend.xxxModuleNamexxx.min.js”——为了让我的解决方案保持整洁并且没有一个巨大的脚本文件夹:)
结构:
-
索引
- 脚本
- jquery.min.js
- isotope.min.js
- knockout.min.js
- someothermodules.js
- 需要js.js
- main.js
-
剑道
- kendo.web.min.js
- kendo.combobox.min.js
- kendo.fx.min.js
仅供参考 - 所有 kendo 脚本都与 AMD 兼容,并报告它们的模块 ID 作为前缀:kendo.moduleName.....等。
更新:不幸的是,由于我的目录中有许多其他脚本,我仍然要求我的 baseUrl 是“/scripts”文件夹。 (剑道脚本的数量如此之多,这就是为什么我要为这些前缀脚本创建一个单独的基本文件夹)
提前致谢:)
詹姆斯
【问题讨论】:
-
你试过 requirejs.config({ baseUrl: '[Your base url]', })?
-
是的,抱歉我的问题可能不清楚,我仍然希望我的 baseUrl 映射到“脚本”目录...我会更新问题。不过谢谢-还有其他想法吗? :)
-
您是否尝试将文件名替换为返回新路径的函数?
-
@Antoine 我将在哪里替换文件名/我需要为所有模块 ID 这样做吗?如果可能的话,我宁愿有一个更通用的解决方案,这样我就不需要维护单个文件/文件夹了
-
是的,它需要对所有文件执行此操作。另一个想法:用这样的东西替换整个剑道包含部分:(function() { .... })(),所以它将在运行时执行。在里面你可以读取包含所有文件的目录,创建一个哈希,然后将它返回给 requirejs。我不确定它是否清楚,如果你不能把你当前的 requirejs 代码,我会用我的意思编辑它。
标签: javascript requirejs amd