我遇到以下错误
node_modules / rxjs / internal / Observable.d.ts:82:59-错误TS2585:“ Promise”仅引用一种类型,但在此处用作值。您是否需要更改目标库?尝试将
list(filter(lambda x: x != None, [x if arr[arr.index(x)+1] < x else None for x in arr])
编译器选项更改为es2015或更高版本。
格式化后看起来像这样
lib
但是我要运行的代码是正确的示例,
node_modules/rxjs/internal/Observable.d.ts:82:59 - error TS2585: 'Promise' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later.
82 toPromise<T>(this: Observable<T>, PromiseCtor: typeof Promise): Promise<T>;
~~~~~~~
Found 1 error.
我有import { range } from 'rxjs';
import { map, filter } from 'rxjs/operators';
range(1, 200).pipe(
filter(x => x % 2 === 1),
map(x => x + x)
).subscribe(x => console.log(x));
tsconfig.json
我正在Node v11.6.0下运行Rx.js 6.3.3,TypeScript 3.2.2。我尝试过
"target": "ES2018",
"module": "es2015",
"lib": ["es2015"],
以及更改npm i --save-dev @types/es6-promise
和lib
的几乎所有组合
我的ts配置就是这样,
module
答案 0 :(得分:0)
TypeScript有两种模式。
tsc
时tsc
时)不会从配置文件tsconfig.json
中读取 如果这听起来令人困惑,那么当您考虑时更令人困惑
--project
无论如何,这里的问题是TypeScript只是忽略了我正在其中运行它的当前工作目录中的配置文件。
如果您想在此处查看此更改的投票,
这在这里进一步报道,
答案 1 :(得分:0)
对于我来说,我只是添加了一个具有以下内容的tsconfig.json
文件,其中与上述错误相关的重要部分是"target": "es2015"
:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es2015"
},
"include": [
"file.ts"
],
"exclude": [
"node_modules",
"wwwroot"
]
}
答案 2 :(得分:0)
在编译时使用它。
tsc async_await.ts --lib es2015
答案 3 :(得分:0)
只需从npm安装@ types / node。这应该可以解决问题。
npm install @types/node