问题描述
闭包编译器一直存在问题-有时它将内联结构的内容,有时则不会。例如:
(function(){
const C = {SOMETHING: 0x76,BLA: 123}
function Test(write) {
write(5+C.BLA);
}
exports.hello = function() {
return Test;
};
})()
不内联:
(function(){function a(b){b(5+c.BLA)}var c={SOMETHING:118,BLA:123};exports.hello=function(){return a}})();
但是只需更改Test
的导出方式:
(function(){
const C = {SOMETHING: 0x76,BLA: 123}
function Test(write) {
write(5+C.BLA);
}
exports.hello = Test;
})()
会使其内联罚款:
(function(){exports.hello=function(a){a(128)}})();
我在这里使用SIMPLE_OPTIMISATIONS,但ADVANCED_OPTIMISATIONS并没有改善问题,也没有键入注释:
(function(){
/** @enum {number} */
const C = {/** @const */SOMETHING: 0x76,/** @const */BLA: 123}
function Test(write) {
write(5+C.BLA);
}
exports.hello = function() {
return Test;
};
})()
有人知道为什么它不会内联吗?有没有一种方法可以获取报告或从编译器中查找?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)