Estoy tratando de importar mi archivo mecanografiado en webpack , cuando ejecuto tsc en mi terminal todo funciona bien, pero cuando trato de compilar mi código mecanografiado en ts-loader , se muestra este extraño error:
ERROR in ./src/Main.ts Module build failed (from ./node_modules/ts-loader/index.js): TypeError: loaderContext.getOptions is not a function at getLoaderOptions (D:\Projects\Real\AviUI\node_modules\ts-loader\dist\index.js:91:41) at Object.loader (D:\Projects\Real\AviUI\node_modules\ts-loader\dist\index.js:14:21) la versión de webpack: 4.43.0 , la versión de ts-loader: ^9.2.3 , la versión de loader-utils: ^1.4.0
archivo webpack.config.js:
module.exports = { entry: path.resolve(__dirname, './src/main.ts'), module: { rules: [ { test: /\.ts$/, include: [source_path], loader: 'ts-loader', exclude: /node_modules/, }], }, resolve: { extensions: ['.tsx', '.ts', '.js'] }, output: { filename: 'avi_ui.js', path: path.resolve(__dirname, 'dist') }, externals: { 'jquery': '`jquery`', 'angular' : '`angular`' }, mode: 'development' }; NOTA: Traté de actualizar mi compilador typescript a la última versión (actualmente la última versión es: 4.3.3) pero no funcionó para mí.
Según la pregunta de Github , la única forma de resolver este problema es actualizar el webpack a v5.
Encontré este enlace del sitio web oficial de webpack. La forma más fácil de actualizar la versión es usar su administrador de paquetes javascript, por ejemplo, si usa npm o yarn , se pueden usar los siguientes códigos de terminal:
# using npm $ npm install webpack@5.40.0 # using yarn $ yarn add webpack@5.40.0 NOTA: En este momento, la versión actual de webpack es 5.40.0
Hay una forma más de resolver el problema, además de actualizar su paquete web a paquete web 5, como señaló la respuesta de Ali Bigdeli. También puede degradar ts-loader a 8.2.0. Usando el administrador de paquetes de su elección, podría verse así:
npm install ts-loader@~8.2.0 Como se señaló en la pregunta de Github vinculada por Ali Bigdeli, la última versión de ts-loader que admite webpack 4 es 8.2.0, y si desea recibir parches para esta versión, puede depender de la versión semver ~ 8.2.0 .