首页 > 解决方案 > 未能在钛 9.0.1 中留下有效的出口对象

问题描述

我添加了屏幕截图,在为钛构建应用程序时出现错误

开发工具包: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 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: javascripttitaniumtitanium-mobileappcelerator-titanium

解决方案


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

所以secondfile.js

function checkNetworkStatus() {

}

module.exports = {
  checkNetworkStatus: checkNetworkStatus
}

在您的应用程序的其他地方:

require('secondfile').checkNetworkStatus();

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

global.checkNetworkStatus = functon() {}

在您的应用程序的其他地方

checkNetworkStatus();

推荐阅读