Module not found: Error: Can't resolve 'ts-loader'
Sebastian Wright
Following is my webpack.config.js
var webpack = require('webpack'), path = require('path'), yargs = require('yargs');
var libraryName = 'MyLib', plugins = [], outputFile;
if (yargs.argv.p) { plugins.push(new webpack.optimize.UglifyJsPlugin({ minimize: true })); outputFile = libraryName + '.min.js';
} else { outputFile = libraryName + '.js';
}
var config = { entry: [ __dirname + '/src/TestClass.ts' ], devtool: 'source-map', output: { path: path.join(__dirname, '/dist'), filename: outputFile, library: libraryName, libraryTarget: 'umd', umdNamedDefine: true }, module: { rules: [{ test: /\.tsx?$/, use: 'ts-loader', //Something wrong here exclude: /node_modules/ }] }, resolve: { modules: [__dirname], extensions: ['.ts', '.js', '.tsx'] }, plugins: plugins };
module.exports = config;Its a typescript project.
When I run build and minify the typescript project using webpack version 4.5.0, I get following error
Module not found: Error: Can't resolve 'ts-loader'
Not sure whats wrong.
I use ts-loader version 4.2.0
Typescript version 2.8.1
Kindly advice.
32 Answers
make sure that you have ts-loader installed and added to the rules:
npm install -D ts-loader and
module: { rules: [ {test: /\.ts$/, exclude: /node_modules/, loader: 'ts-loader'} ] }, 2 Same here, I already had ts-loader listed in my package.json, but for some reason it was not installed anymore at some point.
For me, what worked is I forced reinstall of all modules and it appeared and worked again.
npm i -forceor
yarn install --force