Flutter 在 import 專案自身的 dart 檔案時要務必留意路徑的判定

Flutter 在路徑的解讀上,”/”代表專案的根目錄,如 “/media”就代表專案根目錄下的 media資料夾;而在使用相對路徑時,是以程式 .dart 檔案所在位置做為根目錄。

在 import 專案自身 .dart 檔案的部分,除了可以使用標準的 package:{專案名稱}/ 寫法外,也可以使用路徑的方式指定。但請只使用相對路徑就好,強烈建議避免如下圖般使用 “/” 根目錄的方式。雖然IDE沒有報錯,但執行時會因為將根目錄判定成專案目錄而不是 “/lib”,造成程式出現錯誤或是神奇現象… 比方說自己遇到的:

明明透過 Provider 共享的物件有確實先宣告,但後面在用時會一直出現找不到物件的錯誤…這如果只朝編譯器推薦的可能原因去解bug,大概永遠解不了吧 … 暈

留言

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.