dart中生成的代码的可读性

时间:2012-11-20 11:10:44

标签: javascript dart

Darts目前会生成复杂的JavaScript代码。我认为这是一个主要的缺点,我实际上更喜欢使用TypeScript方法解决问题。

我想听听是否有人知道Dart的战略计划。 Dart会在未来生成 - 有些可理解的javascript吗?

2 个答案:

答案 0 :(得分:6)

问题是:为什么你会对编译代码感兴趣?

dart2js为编译的代码生成source maps

编译为JavaScript时,您应该看到“映射文件”。这些源映射允许您在Web浏览器中查看和调试代码(目前在Chrome中工作,支持Firefox工作)作为Dart代码,即使它正在执行JavaScript。

即使您没有源映射,也不需要调试JavaScript代码。如果您的代码没有运行,那么它可能是dart2js中的问题或您的代码,如果它是您的代码,您可以使用源地图在Dartium或Chrome中进行调试。

答案 1 :(得分:2)

我实际上喜欢以“问题是:为什么你会对编译代码感兴趣?”的答案,但是,我想补充一下:

  • 我认为生成的JavaScript不是那么糟糕。一旦你理解了foo $ 2意味着foo是一个带有2个参数的函数,它就没那么糟糕了。

  • dart2js团队并没有尝试以简单的方式编译成JavaScript。实际上,他们的目标之一是他们生成的JavaScript应该比你手工编写的更好,更理想。这类似于C编译器生成的代码比手动编写的代码更快,因为C编译器可以进行对于有限的人类大脑来说难以实现的优化。当dart2js内联某些函数时,您已经可以看到这种情况。

然而,正如第一个答案指出的那样,真正的答案是我们有源地图,所以你很少需要查看JavaScript。