![](/img/trans.png)
[英]Visual Studio 2015 - Typescript “Build:Cannot find module…”
[英]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'標志,否則無法編譯模塊...(整個第一行)
預期的聲明或聲明。 (第二行,出口下)
你明白了,這些通過文件繼續。 我已嘗試以下方法來解決此問題:
///<reference />
標記。 這樣做成功地將tsx html元素(例如<div>
標記)解析為JSX.IntrinsicElements
類型,但React模塊仍然無法解析,可能是因為上面列出的錯誤。 typeroots
中的typeroots
元素直接指向@types文件夾。 我已經根據一位同事的推薦將其刪除了,這是其中兩位智能感知工作的同事之一。 這是我的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.