Sco*_*w18 5 visual-studio typescript visual-studio-2015
我在 Visual Studio 2015 中使用 TypeScript 智能感知时遇到问题。当我尝试从 Nuget 上的输入切换到使用 npm 安装它们时,问题就开始了。我有我需要的一切,node_modules/@types但智能感知没有找到类型,说它无法解析模块。该项目使用 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;
Run Code Online (Sandbox Code Playgroud)
例如,在前两行中,我得到:
除非提供了“--module”标志,否则无法编译模块...(整个第一行)
预期的声明或声明。(第二行,在出口下)
你明白了,这些将继续通过文件。我尝试了以下方法来解决问题:
///<reference />指向打字文件的标签。这样做成功地解析了 tsx html 元素,例如类型的<div>标签,JSX.IntrinsicElements但 React 模块仍然无法解析,可能是因为上面列出的错误。typerootstsconfig 中的元素直接指向 @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"
]
}
Run Code Online (Sandbox Code Playgroud)
我的 tsconfig 位于站点根目录中,该package.json文件位于与该文件夹__Redesign一起调用的node_modules文件夹中。这就是为什么我认为我可能需要将编译器明确地指向 tsconfig 中的类型。
在这一点上,我已经没有线索可以追捕了,任何新想法都值得赞赏。谢谢。
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |