我在Dart编辑器中创建了一个新项目,其中的模板打印出“你的Dart应用程序正在运行”。到页面并将其编译为js。我把它放到我的localhost wamp服务器上,它工作正常。
但是,当我将此dart网络应用程序部署并上传到我的网络服务器时,它甚至没有输入main()
方法,并且出现以下错误
Uncaught ReferenceError: Invalid left-hand side in assignment
在启用调试模式的情况下编译后,源映射允许我查看哪一行导致此行,但它似乎指向第8行,这是主方法的结束括号。
到底发生了什么事?为什么这个编译的dart在我自己的本地Web服务器上运行正常但在我的网站上托管时完全中断?在过去的几个小时里,这让我很困惑,并且阻止我部署我的真实应用程序。
的实时示例的链接答案 0 :(得分:1)
问题在于行结束。
这是在本地计算机上执行的原始代码
将此文件上传到我的远程主机并将其下载回来时,这就是我找到的
(进一步注释,评论重要代码)
问题在于行结尾。 Dart2JS似乎是混合行结尾,当使用FileZilla上传到我的主机时,这些字符被删除。 将传输类型设置为二进制将保留结尾,一切都很好。
然而问题是为什么Dart2JS混合了行结尾?它似乎在CR和LF以及某些地方。