Reputation: 26487
I've got a problem to load rxjs
into a simple webpack setup (without angular). I'm running:
./node_modules/.bin/webpack --config webpack.config.js --watch
to start webpack. The only file with the app, src/app.ts
, starts with:
import { Observable } from 'rxjs';
and this line is highlighted in VSCode and in webpack console with this error:
Cannot find module 'rxjs'.
But the overall output works fine. Just this console error.
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
(everything installed properly):
{
"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"
}
}
I can't find the reason for why can't ts/webpack resolve where is rxjs
Upvotes: 18
Views: 40570
Reputation: 41
I had this issue when I tried building with nestjs from scratch, this should solve your problem
npm install rxjs
and if that doesn’t, try this:
delete node_modules and package-lock.json
rm -rf node_modules rm -f package-lock.json
clean npm cache
npm cache clean --force
try reinstalling
npm install
Upvotes: 3
Reputation: 169
to ionic
simple use this command in order to delete the plugin
npm uninstall --save rxjs
npm uninstall --save rxjs-compat
and then run this to reinstall
npm install --save rxjs
npm install --save rxjs-compat
Upvotes: 16
Reputation: 4345
You should change default module resolution strategy from Classic to Node. In order to do this, change your tsconfig.json
file:
{
...
"compilerOptions": {
....
"moduleResolution": "node"
}
}
See documentation on Module Resolution
Upvotes: 21
Reputation: 17059
You must add node_modules
to your webpack resolve.modules config:
resolve: {
modules: [
"node_modules",
path.resolve(__dirname, "app")
],
extensions: [".js", ".json", ".jsx", ".css"],
}
more info on https://webpack.js.org/configuration/resolve/
Upvotes: 0