簡體   English   中英

TypeScript - Visual Studio 2015 Intellisense無法查找模塊

[英]TypeScript - Visual Studio 2015 Intellisense Cannot Find Module

我在Visual Studio 2015中遇到TypeScript intellisense時出現問題。當我嘗試從Nuget上的typings切換到使用npm安裝它們時,問題就出現了。 我在node_modules/@types擁有我需要的所有東西但是intellisense沒有找到打字,說它無法解析模塊。 項目構建沒有錯誤,使用Visual Studio的構建和命令行的tsc。

我目前的猜測是問題在於我正在使用的TypeScript版本與打字的版本,因為打開文件時打包文件中存在智能感知錯誤。 例如,我使用npm為React(v。^ 15.4.2)安裝了typings(v。^ 15.0.21)。 當我打開已安裝的index.d.ts文件時,收到許多錯誤:

// Type definitions for React v15.0
// Project: http://facebook.github.io/react/
// Definitions by: ...
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2

export = React;
export as namespace React;

以前兩行為例,我得到:

  • 除非提供'--module'標志,否則無法編譯模塊...(整個第一行)

  • 預期的聲明或聲明。 (第二行,出口下)

  • 找不到名字'as'。 (在as下)
  • ';' 預期。 (在命名空間下)

你明白了,這些通過文件繼續。 我已嘗試以下方法來解決此問題:

  • 切換到使用tsconfig文件而不是VS打字稿工具。
  • 讓3位同事試穿他們的計算機(兩個智能感知工作,第三個遇到同樣的問題)
  • 通過刪除.suo文件清除intellisense緩存
  • 更新TypeScript工具和Visual Studio。 當我開始時,我在VS2015 Update 1上運行了一個非常舊版本的TypeScript。我現在在VS2015 Update 3上使用TypeScript 2.2.2。我已經從開發人員命令提示符和包管理器控制台驗證了TypeScript的版本。
  • 手動添加指向打字文件的///<reference />標記。 這樣做成功地將tsx html元素(例如<div>標記)解析為JSX.IntrinsicElements類型,但React模塊仍然無法解析,可能是因為上面列出的錯誤。
  • 使用typeroots中的typeroots元素直接指向@types文件夾。 我已經根據一位同事的推薦將其刪除了,這是其中兩位智能感知工作的同事之一。
  • 編輯.csproj文件TypeScript部分。 我將TypeScript工具版本更改為2.2,並將模塊解析選項更改為Node,node和NodeJs,如下所示: https//github.com/Microsoft/TypeScript/issues/7568

這是我的tsconfig.json文件:

{
    "compileOnSave": true,
    "compilerOptions": {
        "sourceMap": true,
        "noImplicitAny": false,
         "module": "commonjs",
         "target": "es5",
         "jsx": "react"
    },
    "exclude": [ "./__Redesign/node_modules", "./__Redesign/jspm_packages" ],
    "include": [
        "./__Redesign/node_modules/@types",
        "__Redesign/app/**/*.ts",
        "__Redesign/app/**/*.tsx"
    ]
}

我的tsconfig位於站點根目錄中, package.json文件位於名為__Redesign的文件夾中, __Redesign還包含node_modules文件夾。 這就是為什么我認為我可能需要在tsconfig中明確指出編譯器的類型。

在這一點上,我已經沒有引導追逐,任何新的想法都受到贊賞。 謝謝。

經過一些實驗,我嘗試在我之前下載的TypeScript 2.2.2安裝程序上運行修復,這解決了這個問題。 我不確定它是如何解決這個問題的,但至少它是有效的。

暫無
暫無

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

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