Javascript RequireJS-自定义路径和文本!插件

Javascript RequireJS-自定义路径和文本!插件,javascript,requirejs,requirejs-text,Javascript,Requirejs,Requirejs Text,我正在使用SPA,并使用requireJS优化器优化了我的一个代码文件,并将新路径设置为: config.paths['billingmanager/billing/billing'] = 'billingmanager/billing/billing-build'; 不幸的是,现在(概念上)这样做的代码 require(['text!billingmanager/billing/billing.htm'], callback); 现在尝试查找billingmanager/billing/b

我正在使用SPA,并使用requireJS优化器优化了我的一个代码文件,并将新路径设置为:

config.paths['billingmanager/billing/billing'] = 'billingmanager/billing/billing-build';
不幸的是,现在(概念上)这样做的代码

require(['text!billingmanager/billing/billing.htm'], callback);
现在尝试查找
billingmanager/billing/billing build.htm
,但失败惨重

我能告诉你吗!无论如何设置
billingmanager/billing/billing
的正常require路径,我希望您获取文件
billingmanager/billing/billing.htm
-period

我确实有一个解决办法,做这样的事情

config.paths['billingmanager/billing-htm'] = 'billingmanager/billing/billing.htm';

然后手动知道如何使用
require(['text!billingmanager/billing htm'])但我真的希望这里有一个简单的解决方法。

我没有遇到这个特定的问题,但我要做的第一件事是替换我给
文本的路径具有相对路径,这将避免与
路径中的路径发生冲突。例如:

require(['text!../parent/billingmanager/billing/billing.htm'], callback);
当然,应该使用的实际相对路径取决于应用程序的体系结构。事实证明,仅仅使用
/
不足以解决RequireJS的聪明问题,因此在上图中,我将退出当前目录,然后返回。我假设当前目录是name
parent

请注意,
文本的路径解析规则与常规路径解析规则不同。通常,向指定给
require
的路径添加扩展将完全绕过
paths
设置。所以
require(['billingmanager/billing/billing/billing/foo.js']…
将查找与
baseUrl
相关的名为
billingmanager/billing/billing/foo.js
的文件,并且不会使用您在问题中显示的
路径设置。对于指定给
文本的路径,情况并非如此!
这些路径通过
路径设置,即使它们有一个扩展(这是有文档记录的)