gpt4 book ai didi

javascript - 在 Appcelerator Titanium 中如何禁用 javascript 代码优化以使调试更容易?

转载 作者:行者123 更新时间:2023-11-29 14:52:15 25 4
gpt4 key购买 nike

我正在使用 Titanium(含 Alloy)构建的 iOS 目标应用程序;我希望能够关闭 Titanium Studio 中的 Javascript 代码优化,但无法通过谷歌搜索找到任何内容,也无法搜索 SO。当 Titanium 编译时,它会生成优化的 javascript 文件……这使得交互式调试变得困难,因为在许多情况下,它将几行干净、可读的代码组合成一行……这使得使用调试器进入代码变得困难。

例如:这……

if(Array.isArray(detailItemArray)){
//term-item.detail-items
for(var z=0;z<detailItemArray.length;z++){
if(z===0){
//first item in detail-item array gets a title pre-pended to it
// title is optional
if(_.isString(termItemArray[y].title)){
htmlArray.push(html.termItem(termItemArray[y].title,html.processStyle(detailItemArray[z]['style'],detailItemArray[z]['detail'])));
} else{
htmlArray.push(html.processStyle(detailItemArray[z]['style'],detailItemArray[z]['detail']));
}

} else {
//process style if available, then add to the array buffer
htmlArray.push(html.processStyle(detailItemArray[z]['style'],detailItemArray[z]['detail']));
}
}

} else {
//when detailArray is not an array (sometimes it is -- see if statement above)
//the title is optional
if(_.isString(termItemArray[y].title)){
htmlArray.push(html.termItem(termItemArray[y].title,detailItemArray['detail']));
} else {

htmlArray.push(html.termItemNoTitle(html.processStyle(detailItemArray['style'],detailItemArray['detail'])));
}
}

变成这个...单行...

 if (Array.isArray(detailItemArray)) for (var z = 0; detailItemArray.length > z; z++) 0 === z ? _.isString(termItemArray[y].title) ? htmlArray.push(html.termItem(termItemArray[y].title, html.processStyle(detailItemArray[z]["style"], detailItemArray[z]["detail"]))) : htmlArray.push(html.processStyle(detailItemArray[z]["style"], detailItemArray[z]["detail"])) : htmlArray.push(html.processStyle(detailItemArray[z]["style"], detailItemArray[z]["detail"])); else _.isString(termItemArray[y].title) ? htmlArray.push(html.termItem(termItemArray[y].title, detailItemArray["detail"])) : htmlArray.push(html.termItemNoTitle(html.processStyle(detailItemArray["style"], detailItemArray["detail"])));

使用 Titanium Studio v3.2.3.201404181442

有什么想法可以暂时禁用此行为以便交互式调试更容易吗?

提前致谢。--斯科特

编辑:一位同事的建议是在代码中添加一些日志语句(比如紧跟在“for”语句之后;果然这阻止了优化器内联代码。这不是我想要的着手去做,但是,至少让我向前迈进了一步。仍然想找到一种方法来降低或关闭 JS 优化器级别。

最佳答案

试试 titanium build -p ios --skip-js-minify

来自 titanium build --help:

Build Flags:
--legacy build using the old Python-based builder.py; deprecated
--skip-js-minify bypasses JavaScript minification; simulator builds are never minified; only
supported for Android and iOS [default: false]
-b, --build-only only perform the build; if true, does not install or run the app
-f, --force force a full rebuild

关于javascript - 在 Appcelerator Titanium 中如何禁用 javascript 代码优化以使调试更容易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23897588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com