Javascript 防止优化文本!还有json!requirejs优化工具上的插件

Javascript 防止优化文本!还有json!requirejs优化工具上的插件,javascript,requirejs,requirejs-text,requirejs-optimizer,Javascript,Requirejs,Requirejs Text,Requirejs Optimizer,我在基于多页requirejs的应用程序中使用以下体系结构: 存储库解释了如何通过运行r.js来优化应用程序,r.js是用于此类任务的命令行工具 一切都应该正常工作,但我的项目作为一些模块,具有从服务器获取数据的HTTP GET请求的依赖项,可以是文本或json 这是因为某些页面使用的一些JSON和模板需要在服务器端进行本地化处理 下面是一个基本示例来说明我所说的内容: 向我的服务器localhost/pagelang/login发出HTTP get请求 返回一个json { "hash

我在基于多页requirejs的应用程序中使用以下体系结构:

存储库解释了如何通过运行r.js来优化应用程序,r.js是用于此类任务的命令行工具

一切都应该正常工作,但我的项目作为一些模块,具有从服务器获取数据的HTTP GET请求的依赖项,可以是文本或json

这是因为某些页面使用的一些JSON和模板需要在服务器端进行本地化处理

下面是一个基本示例来说明我所说的内容:

向我的服务器localhost/pagelang/login发出HTTP get请求 返回一个json

{
   "hash": "translated_value",
    ...
}     
这同样适用于template/template\u name,其中从服务器返回一个html,并将其UI翻译成用户语言

通过运行r.js,它试图为服务器上的现有目录加载这些位置,而该目录显然不存在

Tracing dependencies for: app/main/login
Error: Error: Loader plugin did not call the load callback in the build:
json:
  json!/pagelang/login: Error: ENOENT, no such file or directory '/pagelang/login'
Module loading did not complete for: app/main/login
所以,我想阻止命令行工具优化文本!还有json!模块。可能吗

我检查了requirejs构建设置,但没有找到解决问题的方法。有什么帮助吗?

json插件使用if config.isBuild&&config.inlineJSON==false | | | name.indexOfCACHE(u BUST)(u QUERY)PARAM+'='!==-1 | | url.indexOf'empty:'==0{当Optimizer运行时,您有两个选项

添加build-config选项inlineJSON:false, 将!bust添加到json require的末尾。require'json!/pagelang/login!bust',或 将路径添加到构建配置选项路径:{/pagelang/login:empty:} 文本插件使用if config.isBuild&!config.inlineext{和if url.indexOf'empty:'==0{

在inlineText中设置生成配置选项:false,或 将路径添加到生成配置选项路径:{/template/login:empty:} =================================================================

更新:如果您无法使用inlineJSON选项,请尝试使用inlineText,它似乎也涵盖了JSON。
参考资料:

我忘了在这个问题中提到一个特别的感谢。它非常有用。
Tracing dependencies for: app/main/login
Error: Error: Loader plugin did not call the load callback in the build:
json:
  json!/pagelang/login: Error: ENOENT, no such file or directory '/pagelang/login'
Module loading did not complete for: app/main/login