2017-06-05 21 views
1

rxjsを簡単なウェブパックの設定(角度なし)にロードする際に問題があります。実行中:は解決できませんtypescript/webpack内のモジュール 'rxjs'を見つけることができません

./node_modules/.bin/webpack --config webpack.config.js --watch 

to webpackアプリでのみファイル、src/app.tsは、で始まる:

import { Observable } from 'rxjs'; 

と、この行はVSCodeに、このエラーとWebPACKのコンソールで強調表示されています:

Cannot find module 'rxjs'. 

しかし、全体的な出力が正常に動作します。このコンソールエラーです。

tsconfig.json

{ 
    "compilerOptions": { 
     "target": "es2015" 
    }, 
    "files": [ 
     "src/app.ts" 
    ] 
} 

webpack.config.js

module.exports = { 
    entry: "./src/app.ts", 
    output: { 
     filename: "dist/bundle.js" 
    }, 
    resolve: { 
     // Add '.ts' and '.tsx' as a resolvable extension. 
     extensions: [".webpack.js", ".web.js", ".ts", ".tsx", ".js"] 
    }, 
    module: { 
     loaders: [ 
      // all files with a '.ts' or '.tsx' extension will be handled by 'ts-loader' 
      { test: /\.ts?$/, loader: "ts-loader" } 
     ] 
    } 
} 

package.json(正しくインストールすべて):

{ 
    "scripts": { 
    "start": "./node_modules/.bin/webpack --config webpack.config.js --watch" 
    }, 
    "devDependencies": { 
    "ts-loader": "^2.1.0", 
    "typescript": "^2.3.4", 
    "webpack": "^2.6.1", 
    "webpack-dev-server": "^2.4.5" 
    }, 
    "dependencies": { 
    "bootstrap": "^3.3.7", 
    "rxjs": "^5.4.0" 
    } 
} 

私はなぜ/ TSことができない理由を見つけることができませんwebpack resolveはどこですか?rxjs

答えて

0

あなたのWebPACKのresolve.modulesの設定にnode_modulesを追加する必要があります。

resolve: { 
    modules: [ 
     "node_modules", 
     path.resolve(__dirname, "app") 
    ], 
    extensions: [".js", ".json", ".jsx", ".css"], 
} 

の詳細情報をhttps://webpack.js.org/configuration/resolve/

+0

このModule Resolution上、これを行うためには、あなたのtsconfig.jsonファイルを変更します[docs](https://webpack.js.org/configuration/resolve/#resolve-modules)は、 'resolve.modules'がデフォルトで' 'node_modules''と言っているので、追加する必要はありません。ただそれを変更しないでください。なぜなら、そこに '' app "'を追加する必要はないからです。 – ducin

3

にあなたがノードにクラシックからデフォルトモジュールの解決戦略を変更する必要があります。私にはあまり意味がありません

{ 
    ... 
    "compilerOptions": { 
     .... 
     "moduleResolution": "node" 
    } 
} 

参照ドキュメント

+1

さて、私はOPについて知りませんでしたが、時間を節約しました:Dありがとう! – Jed

+0

'' module ': "commonjs" 'と私のために働いていて、最新のバージョンに更新されたVSCodeです。しかし、それが誰かを助けたなら、それは良いことです:) – ducin

+0

@ducinはいcommonjsはノードでデフォルトで使われます。だから、それもあなたのために働いた、私は推測する –

関連する問題