Lazy loading 模組內無法識別$/jquery

跟我的理解是在cli產生的專案下(自動設定好設定好tsconfig.jsontypeRootsnode_modules/@types)只要設定用npm安裝好對應的type就可以在專案內全域使用。

目前的情境是這樣:

  • 專案是cli產生的
  • 安裝了對應的@types/jquery
  • 在lazy loading的模組使用$會出現無法辨識
    • cannot find $類似的警告
  • 編譯失敗

搜尋過相關的資訊,仍無頭緒。

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "module": "es2015",
    "baseUrl": "",
    "types": [
      "jquery"
    ]
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

你在 tsconfig.app.json 的 types,也要加上 jquery 才可以。

或是將 tsconfig.app.json 的 types 給刪掉,讓 ts compiler 只吃最上層的 typeRoots 的設定

1個讚