Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript requirejs需要文本!由于相对路径在iphone上导致非规范化错误,bet在emulator上工作_Javascript_Iphone_Cordova_Requirejs - Fatal编程技术网

Javascript requirejs需要文本!由于相对路径在iphone上导致非规范化错误,bet在emulator上工作

Javascript requirejs需要文本!由于相对路径在iphone上导致非规范化错误,bet在emulator上工作,javascript,iphone,cordova,requirejs,Javascript,Iphone,Cordova,Requirejs,我将requirejs与phonegap一起使用,并在模块定义中加载一些文本文件,如下所示 define(['text!../configuration/systemcore.cfg', //config files 'text!../language/cn.systemcore.lang', //languagefiles 'Configuration', 'DatabaseHandler', 'Language', //framework js

我将requirejs与phonegap一起使用,并在模块定义中加载一些文本文件,如下所示

define(['text!../configuration/systemcore.cfg', //config files
        'text!../language/cn.systemcore.lang', //languagefiles
        'Configuration', 'DatabaseHandler', 'Language', //framework js 
        'FileHandler', 'NotificationHandler',  
        'BaseModule' //base classes
        ], 
        function(cfg, lang,
                Configuration, DatabaseHandler, Language, FileHandler, NotificationHandler,
                BaseModule) {
在ios模拟器中一切正常,但一旦加载到ios设备中,就会导致


文本文件上的非规范化错误导致加载模块超时,为什么…

好的,我在requirejs.config({patch:{…})中添加了文本:“path/to/text.js”,解决了这个问题。在我没有明确指出文本的情况下,它以前如何在模拟器中工作仍然很奇怪。js

也许这个答案不是这个特定问题的解决方案,但是我发现这个主题在搜索类似的问题:控制台中的非规范化错误和加载超时,所以在这里发布它可能很有用

根据我的经验,当使用不同的路径引用两次时,文本插件似乎工作不正确

例如,如果您首先引用完整路径:

define(["js/libs/text!somefile.html"], ...)
然后配置requireJS路径并使用别名:

require.config({paths: {
  "text": "js/libs/text.js"
}});

define(["text!somefile.html"], ...)

它使同一个模块加载两次,第二个
define
导致错误。如果我错了,请纠正我。

好的,我做了更多的研究,似乎这个错误与文本有关!未被识别,可能文本加载器插件在ios设备环境中不起作用。好吧,进一步研究,奇怪的是,在emulator上,加载器插件text.js会自动加载,但在ios上不会。。奇怪,原因是正确的。我也面临着类似的问题。我通过相应地配置路径来解决问题。