ti.include 的 appcelerator 解决方法不起作用

appcelerator workaround for ti.include not working

您好,我已经尝试了 appcelerator 团队建议的解决方法(用于处理版本 6.0.0 中 ti.include 的弃用)

function include(file) {
    return eval(Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, file).read().text); 
}

然后出现错误,可能是系统无法读取文件。错误是:

[ERROR] : TiBlob: java.io.FileNotFoundException: Resources/underscore-min.js

我已经设法通过 .getDirectoryListing() 列出了目录文件,但找不到该文件,实际上我在那里找不到任何 .js 文件。

有什么建议吗?

简短回答:不要尝试使用解决方法,而是将您的应用程序迁移到正确的 require 功能。 Ti.include() 方法自 3.3.0 (!) 以来已被弃用,并已在 6.0.0(3 个主要版本之后)中删除。所有当前和未来的应用程序都将此行为用于可扩展的高性能应用程序,您也应该这样做。

对于您的用例,这就是您现在使用图书馆的方式:

var _ = require('underscore-min')

它希望您的文件放置在 <project-root>/Resources/underscore-min.js(经典项目)或 <project-root>/app/lib/underscore-min.js(Alloy 项目)中。

详细了解 require 及其使用方法 here and here

代码强!