2

我试图使用新的show语法来减小编译的 js 代码的大小。只要我不需要任何类型的窗口事件,它就可以正常工作。

当我添加要显示的窗口时,编辑器说一切都很好。然后当我运行应用程序时,我得到:

Exception: NoSuchMethodError : method not found: 'get:window'
Receiver: Instance of 'Toolbar'
Arguments: []
Stack Trace: #0      Object._noSuchMethod (dart:core-patch:1261:3)
#1      Object.noSuchMethod (dart:core-patch:1264:25)
#2      Toolbar._init (...toolbar.dart:93:5)
#3      Toolbar.Toolbar.initialize (...toolbar.dart:47:10)
#4      main (...toolbar.dart:29:21)

有没有其他方法可以在不使用窗口变量的情况下获取窗口实例?

4

1 回答 1

2

您确定使用 show 实际上有助于减小已编译 JavaScript 代码的大小吗?你不应该这样做。由于 tree-shaking 和死代码消除,只有您使用的内容才会显示在编译输出中。

你使用 show 来严格控制你导入的内容,很明显什么东西来自什么库。如果您在不使用 show 的情况下导入大量库,则很难分辨出什么来自哪里,这对于非常大的代码库可能是一个挑战。

如果您导入两个具有使用相同名称的函数或类的不同库,您也可以使用 show。通过使用 show,您可以指定您想要的。

于 2012-11-15T10:15:34.930 回答