簡體   English   中英

@角度指向正確的node_module

[英]@angular point to the correct node_module

我正在瀏覽各種有角度的5個文件,試圖找出“ @angular”如何指向正確的node_modules文件夾,然后再導入該文件夾(即路由器)中的正確子模塊。 如果可以的話,似乎沒有文件明確定義@angular“ app”名稱的配置路徑。

我一直在尋找這樣的東西:“ @angugular”:“ ./nodes_module/@angular”,但是還沒有發現。

如果有任何意義,我在Mac OS上使用Angular 5。

謝謝

這不是Angular特有的。 這是一個Typescript配置。

如果您查看tsconfig.json (如果使用的是CLI, tsconfig.json tsconfig.app.json ),則應該看到moduleResolution屬性:

"moduleResolution": "node",

“節點”模式意味着Typescript編譯器將像Node.JS一樣嘗試解析模塊,這意味着node_modules將始終是模塊解析的根。 可以通過絕對路徑以這種方式通過絕對路徑導入node_modules任何內容-假設軟件包的Typescript定義文件位於其根路徑中,這意味着僅通過引用文件夾名稱就可以導入該文件。 這里有一些很好的文檔

@angular在子文件夾中以模塊化方式生成其Typescript定義文件,因此您需要引用該文件的文件夾路徑(例如@angular/core )。

另一個tsconfig.json的打字稿編譯器用來查找模塊或出口屬性是baseUrl屬性。 在此處設置內容將允許編譯器將該路徑視為絕對路徑(例如:在Angular應用中將baseUrl設置為"src"將允許您絕對從中導入內容,因此請import { Thing } from ../../../services/thing可以import { Thing } from app/services/thing 。)

您還可以向編譯器傳遞一個paths對象,該對象將相對於baseUrl向模塊添加其他路徑映射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM