web-dev-qa-db-ja.com

RxJとTypeScript。 TS2307:モジュール '@ reactivex / rxjs'が見つかりません

TypeScriptとRxJs v5で問題が発生しました。

更新セクションをご覧ください。

yarn add @reactivex/rxjsyarn add rxjs)を実行し、index.tsでimport Rx from '@reactivex/rxjs';を実行し、このエラーが発生しました: VSCode Error

また、node ./node_modules/.bin/tscを実行すると、このエラーも返されましたerror TS2307: Cannot find module '@reactivex/rxjs'.

更新

またやっている

import { Observable } from 'rxjs/Observable'

sameエラー enter image description here

更新2

これは、RxJSよりもTS自体に関連しているようです。

"compilerOptions": {
    "module": "commonjs",
    "allowJs": true,
    "outDir": "dist",
    "target": "es2015",
    "noImplicitAny": true,
    "noEmit": true,
    "strictNullChecks": true,
    "suppressExcessPropertyErrors": false,
    "suppressImplicitAnyIndexErrors": false,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "lib": [
        "es2015",
        "dom"
    ]
}

この^構成はVSCodeの問題を修正するようですが、src/index.tsに対してtscを実行しても動作しません

node_modules/rxjs/Observable.d.ts(69,60): error TS2693: 'Promise' only refers to a type, but is being used as a value here.
8
Alejandro Nanez

compileOptions内に"moduleResolution": "node"を設定して、TSのモジュール解決戦略を指定してみてください。

npm install rxjs --save

そしてあなたのTypeScriptで

import { Observable } from 'rxjs/Rx';

それは私のためにそれを修正しました。

9
Abhishek Chadha

私には以下のエラーがありました:
エラーTS2307:モジュール 'rxjs-compat/Observable'が見つかりません。

解決策:インポートする代わりに:

import { Observable } from 'rxjs/Observable';

使用する:

import { Observable } from 'rxjs';

すべてをカンマで区切って、インポートしたいオブザーバブルに配置できます。

import { Observable, of } from 'rxjs';
3
Aman

Visual Studio 2017のまったく新しい「Hello World」プロジェクトでも同じ問題が発生し、npm install rxjsを実行しました。

基本的にこれは私のserver.tsファイルにありました:

import { Observable } from 'rxjs/Observable'
import * as http from 'http';

var port = process.env.port || 1337
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port);

コンパイルオプションmoduleおよびlibに設定された値に応じて、これによりエラーが生成されました。

server.ts(1,28): error TS2307: Build:Cannot find module 'rxjs/Observable'.

または:

node_modules\rxjs\Observable.d.ts(73,59): error TS2693: Build:'Promise' only refers to a type, but is being used as a value here.

私のために働いたコンパイルオプションの勝利の組み合わせは次のとおりでした:

"compilerOptions": {
    "module": "commonjs",
    "lib": [ "es2015" ]
  }

これにより、両方のエラーがなくなりました。

2
sboisse

RxJS 5では、次のものを使用することになっています。

import * as Rx from 'rxjs';

または、ライブラリの特定の部分のみをインポートします。

import { Observable } from 'rxjs/Observable';

詳細については、以下を参照してください。 https://github.com/ReactiveX/rxjs/#installation-and-usage

2
martin

次の構文を使用します。

import { Observable } from 'rxjs/Rx'

または

import Rx from 'rxjs/Rx';
Rx.Observable.of(1,2,3)

または

import { Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/map';

Observable.of(1,2,3).map(x => x + '!!!'); // etc

これらの例はすべてウェブサイトで見つけることができます: http://reactivex.io/rxjs/manual/installation.html

0
smac89
This is a hard nut to crack: my fix

 in package.json  dependencies confirm this code exists:

     "rxjs": "^5.5.2",


In file /node_modules/@angular/core/src/application_ref.d.ts

//import { Observable } from 'rxjs/Observable';
// yeah, sure, I'm not supposed to, but I did and i worked
   import { Observable } from 'rxjs/Rx';


in file node_modules/rxjs/src/tsconfig.json

    {
      "compilerOptions": {
        "removeComments": false,
        "preserveConstEnums": true,
        "sourceMap": true,
        "declaration": true,
        "noImplicitAny": true,
        "noImplicitReturns": true,
        "noImplicitThis": true,
        "suppressImplicitAnyIndexErrors": true,
        "moduleResolution": "node",
        "target": "es6",
        "outDir": "dist/es6",
        "lib": [ "es2016.array.include" ]
      },
      "formatCodeOptions": {
        "indentSize": 2,
        "tabSize": 2
      },
      "bazelOptions": {
        "suppressTsconfigOverrideWarnings": true
      },
      "files": [
        "src/Rx.ts"
      ]
    }

for this ng --version

    Angular CLI: 1.6.7
    Node: 8.11.1
    OS: darwin x64
    Angular: 5.2.10
    ... animations, common, compiler, compiler-cli, core, forms
    ... http, language-service, platform-browser
    ... platform-browser-dynamic, router

    @angular/cli: 1.6.7
    @angular-devkit/build-optimizer: 0.0.42
    @angular-devkit/core: 0.0.29
    @angular-devkit/schematics: 0.2.0
    @ngtools/json-schema: 1.1.0
    @ngtools/webpack: 1.9.7
    @schematics/angular: 0.1.17
    TypeScript: 2.4.2
    webpack-dev-server: 2.11.2
    webpack: 3.10.0
0
cfphpflex