DART2JS Pub Build无法正确浏览项目文件夹



我现在正在从事一个长期项目一段时间。移动一些文件夹后,正确重构代码的不同部分后,WebStorm的DART Analyzer没有显示任何错误,但是运行pub servepub build失败。

pub或dart2js似乎没有正确地遍历文件夹。

这是我遇到的第一个错误:

[Error from Dart2JS on CS_Game_Engine|web/main.dart]:
web/UIElements/NodeSettingsItems/TextVariableEditor.dart:4:1:
Can't read 'file:///Data/ownCloud/cybersecgame/CS%20Game%20Engine/web/UIElements/Data/Variables/Variable.dart' (Could not find asset CS_Game_Engine|web/UIElements/Data/Variables/Variable.dart.).
import '../../Data/Variables/Variable.dart';
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

这很有趣,因为您在错误中看到的文件TextVariableEditor.dart位于web/UIElements/NodeSettingsItems/目录中。

我要访问的文件(Variables.dart(位于web/Data/Variables/Variable.dart中。

导入语句使用../../移动2个文件夹,但是pub或dart2js却没有向上2个文件夹,它仅将1个文件夹上升到1个文件夹。再次查看错误:

Can't read 'file:///Data/ownCloud/cybersecgame/CS%20Game%20Engine/web/UIElements/Data/Variables/Variable.dart'

它在错误的位置寻找文件。我不确定该如何解决此问题,我环顾四周,找不到任何东西。同样,Webstorm的Dart Analyzer没有任何问题,但是酒吧的建造或酒吧都无法找到该文件。

我在代码中已经多次使用了../../,但这是第一次引起问题。还有其他类似的错误,但没有正确读取../../的相同问题。

更新1:

我已经完成了更多测试,并在路径的开始中添加了其他../,可以在pub build期间修复错误。但是,现在Webstorm及其DART Analyzer显示出许多错误,因为该路径显然是错误的(1个../太多(。这是解决方法,但不是解决方案。有人知道为什么酒吧或DART2JS错误地阅读路径吗?以某种方式跳过../

Web目录中的代码仅应在两个位置访问文件:

  1. Web目录中的内容,通过相对路径

  2. 通过package: Imports

  3. 在软件包中的内容

#2很有趣。这可以包括您自己的项目中的文件,您只需要将这些文件放入lib目录中,然后通过package:my_proj URI访问它们。

请参阅https://github.com/dart-lang/sample-pop_pop_win/作为示例

另请参见https://www.dartlang.org/tools/package-layout

最新更新