2014-09-21 64 views
3

我正在使用WebStorm 8 IDE構建一個dart web應用程序。我有以下目錄結構:Dart2JS找不到導入包WebStorm

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

main.dart我有以下進口statment: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";但我得到了同樣的錯誤。

有沒有人有任何想法?

UPDATE:

我可以用pub build建立我的項目,併產生main.dart.js。不確定當我打電話時什麼是不同的,也許WebStorm有什麼錯誤?

回答

0

我看不到任何錯誤。我認爲這是其中的一種情況,其中只有

pub cache repair 

可以幫助。

+0

不幸的是,似乎沒有工作。 – shortspider 2014-09-22 22:43:46

+0

無論如何你使用dart2js?使用'pub build'來轉譯成JavaScript。 – 2014-09-23 04:07:30

+0

當然,我可以使用'pub build',但是dart2js應該自己工作嗎? – shortspider 2014-09-23 18:16:33

1

dart2js不是推薦的工作流程,可以在WebStorm 8中使用。它會從即將推出的WebStorm 9的上下文菜單中完全刪除。使用「pub build」。

+0

不知道WebStorm 8爲此提供了一個菜單。 – 2014-09-24 16:43:22