Aus*_*nce 7 typescript typescript-typings
非常简单的项目,仅使用命令行就没有tsconfig.json:
tsc --jsx react --target es6 --lib dom src/lib/Fetch.tsx
Run Code Online (Sandbox Code Playgroud)
我得到以下错误,但我不明白为什么,这些类型实际上是在各处定义的,尤其是在lib.es6.d.ts中,我相信它包含在 --target es6
error TS2318: Cannot find global type 'Array'.
error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'Function'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'Number'.
error TS2318: Cannot find global type 'Object'.
error TS2318: Cannot find global type 'RegExp'.
Run Code Online (Sandbox Code Playgroud)
安装以下依赖项
"dependencies": {
"@types/react-dom": "^16.0.6",
"@types/react": "^16.3.16",
"react": "^16.4.0",
"react-dom": "^16.4.0"
},
"devDependencies": {
"@types/node": "^10.3.1",
"typescript": "^2.9.1"
}
Run Code Online (Sandbox Code Playgroud)
解决
找出我的问题。已在本地安装打字稿,但正在运行全局安装的旧版本打字稿。当我通过npm脚本运行tsc时,它将使用以下命令进行编译:
tsc --jsx react --target es6 --module commonjs src/lib/Fetch.tsx
Run Code Online (Sandbox Code Playgroud)
dom
仅包含针对浏览器的DOM元素的定义。您需要包括其中一个es*
包含编译所需的核心ES类型的库之一。一旦指定了--lib
选项,则必须包括所有必需的类型,编译器将不再包括基于目标的任何库:
tsc --jsx react --target es6 --lib es2015,dom src/lib/Fetch.tsx
Run Code Online (Sandbox Code Playgroud)
或者,如果您实际上不只是在使用默认库,则可以完全省略该选项:
tsc --jsx react --target es6 src/lib/Fetch.tsx
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5474 次 |
最近记录: |