【问题标题】:require statement not working properly with Titanium SDK 8.0.0.GA要求语句不能与 Titanium SDK 8.0.0.GA 一起正常工作
【发布时间】:2019-09-23 15:20:51
【问题描述】:

我有一个经典的钛应用程序,由于某种原因,require 语句无法正常工作

例如:

require("views/Player");

要求的文件应该是修改全局变量,但是要求后全局变量没有被修改。

最奇怪的是,它在针对 Ti SDK 7.4.2.GA 进行编译时可以正常工作,而在针对任何较新版本进行编译时则无法正常工作。

谁能解释一下?

【问题讨论】:

    标签: titanium appcelerator titanium-mobile appcelerator-titanium appcelerator-mobile


    【解决方案1】:

    好的,事实证明,在 SDK 7.5.0 之前,app.js 会将任何顶级变量分配给全局对象。但在那之后就没有了。

    要修复它,你应该像这样声明全局变量

    global.labelText = 'Titanium Doesn't Rock!';
    

    而不是这个

    var labelText = 'Titanium Doesn't Rock!';
    

    更多信息在这里:https://docs.appcelerator.com/platform/latest/#!/guide/Titanium_SDK_7.5.0_Functionality_Update

    【讨论】:

    • 应尽可能避免使用全局变量。为什么不使用 require 来修改,而不是只为您提供变量?
    • 你好勒内!实际上,这是我试图调试以快速修复的遗留项目。不幸的是,整个应用程序都在使用这种模式? 我不得不处理它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2017-01-05
    • 1970-01-01
    • 2011-03-14
    • 2014-11-13
    • 2017-11-25
    • 1970-01-01
    相关资源
    最近更新 更多