未能在钛 9.0.1 中留下有效的导出对象

failed to leave a valid exports object in titanium 9.0.1

我添加了屏幕截图,我在为 Titanium 构建应用程序时遇到错误

SDK:9.0.1

对于 SDK 8.3.1 和 7.4.2,此错误未出现应用程序在此 SDK 版本上工作正常,仅在 9.0.1 有问题

// requires:
// Set up device detector
var DeviceDetectClass = require('DeviceDetect');
var deviceDetect = new DeviceDetectClass();

这是我们在 app.js 中导入的

隐式全局函数在 Titanium 9.0.0.GA 或更高版本中不再有效。解决此问题的最佳方法是将这些函数放在一个独立的 JS 文件中,并在您要使用它们的地方要求它们。

所以secondfile.js

function checkNetworkStatus() {

}

module.exports = {
  checkNetworkStatus: checkNetworkStatus
}

您应用中的其他地方:

require('secondfile').checkNetworkStatus();

另一种方法是将这样的全局函数放在app.js中。然而,这不是推荐的方式。

global.checkNetworkStatus = functon() {}

在您应用的其他地方

checkNetworkStatus();