我试图使用新的 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)
是否有其他方法可以在不使用window变量的情况下获取窗口实例?
最佳答案
您确定使用 show 实际上有助于减小编译后的 JavaScript 代码的大小吗?你不应该这样做。由于树摇动和死代码消除,只有您使用的内容才会出现在编译的输出中。
您可以使用 show 来严格控制导入的内容,这样很明显哪些内容来自哪些库。如果您在不使用 show 的情况下导入大量库,则很难分辨哪些内容来自何处,这对于非常大的代码库来说可能是一个挑战。
如果导入两个具有相同名称的函数或类的不同库,也可以使用 show。通过使用 show,您可以指定您想要哪一个。
关于Dart 导入在 NoSuchMethodError 中显示窗口结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394916/