Dart2JS 找不到导入包 WebStorm

标签 dart webstorm dart-pub dart2js

我正在使用 WebStorm 8 IDE 构建一个 dart 网络应用程序。我有以下目录结构:

root
   web
      main.dart
   lib
   packages
      browser
      intl
         intl.dart
   pubspec.lock
   pubspec.yaml

main.dart 中,我有以下导入语句:import "package:intl/intl.dart";

然而,当我尝试将 main.dart 编译为 javascript 时,出现以下错误:

dart2js
Error occurred:
/Path/To/Project/root/web/main.dart:2:8:
Error: Can't read 'package:intl/intl.dart' (Error reading '/Path/To/Project/root/web/packages/intl/intl.dart' (OS Error: No such file or directory, errno = 2)).
import "package:../packages/intl/intl.dart";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: Compilation failed.

看来 dart2js 在 dart 文件的当前目录中查找要为包转换的文件,这是不正确的。

我尝试将导入语句更改为 import "package:../packages/intl/intl.dart"; 但我遇到了同样的错误。

有没有人有什么想法?

更新:

我可以使用 pub build 构建我的项目并生成一个 main.dart.js。不确定我调用构建时有什么不同,也许 WebStorm 有问题?

最佳答案

dart2js 不是推荐的工作流程,在 WebStorm 8 中可能存在错误。在即将推出的 WebStorm 9 中,它已从上下文菜单中完全删除。使用“pub build”。

关于Dart2JS 找不到导入包 WebStorm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25963131/

相关文章:

flutter - 无法在statefulwidget中定义对象

flutter - 我如何在 flutter [go router] 中使用 go router 插件进行推送替换

flutter : Change size of stack when children overflow

typescript - 如何从错误检查中排除非项目目录?

dart-pub - 飞镖网 : couldn't run webdev

flutter - DateFormat Flutter我正在以这种格式获取日期表格json api “2020-04-18T00:00:00”,但是我想要这种格式 “dd-mm-yyyy”

node.js - 无法在运行 Node.js 应用程序的 WebStorm 中跨步

php - 如何在 WebStorm/PHPStorm 中激活函数引用?

firebase - 未为该类定义方法 'allowInterop' ...尝试使用 Firestore 时出现 Dart 控制台应用程序错误

dart - 如何通过pub设置dart版本?