繁体   English   中英

Dart2JS Pub Build无法正确遍历项目文件夹

[英]Dart2JS Pub Build Fails to Traverse Project Folders Correctly

我现在正在做一个长期项目。 移动一些文件夹后,正确重构代码的不同部分,Webstorm的Dart分析器显示没有错误,但运行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

import语句使用../../移动2个文件夹,但Pub或Dart2JS不会向上移动2个文件夹,它只向上移动1个文件夹。 再次看到错误:

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

它正在寻找错误位置的文件。 我不知道该怎么做才能解决这个问题,而且我环顾四周并且找不到任何东西。 同样,Webstorm的Dart Analyzer没有显示任何问题,但pub构建或发布服务都失败,无法找到该文件。

我之前在代码中多次使用过../../ ,但这是第一次引发问题。 还有其他类似的错误,但有同样的问题,没有正确读取../../

更新1:

我做了更多的测试,并在路径的开头添加额外的../修复了pub build期间的错误。 然而,现在Webstorm和它的Dart Analyzer显示了很多错误,因为路径显然是错误的(1太多../ )。 这是一种解决方法,但不是修复方法。 有人知道为什么pub或者Dart2JS正在错误地读取路径吗? 以某种方式跳过其中一个../

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

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

  2. 通过package:进口

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

https://github.com/dart-lang/sample-pop_pop_win/为例

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM