如何在新机器上解决Webpack异常

ecr0jaav  于 2023-10-19  发布在  Webpack
关注(0)|答案(1)|浏览(159)

我在运行webpack时收到以下错误消息。
奇怪的是,在我的机器上,它工作得很好。这是一个近10年的老项目。另一个开发人员现在将在它的工作,所以我们已经设置了他的机器是相同的,我的。但此异常被引发,并且不清楚是什么原因导致了此异常。
这是一个使用webpack 2.6.1的奥雷利亚1.0应用程序。在Visual Studio 2022的后端使用.net framework 4.8.0,并使用Task Runner Explorer运行webpack。
如有任何建议将不胜感激。已经纠结了一段时间了。

  1. C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE> cmd /c SET NODE_ENV=development&& webpack --color
  2. C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\FlagDependencyUsagePlugin.js:56
  3. const oldUsed = module.used;
  4. ^
  5. TypeError: Cannot read properties of null (reading 'used')
  6. at processDependency (C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\FlagDependencyUsagePlugin.js:56:29)
  7. at C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\FlagDependencyUsagePlugin.js:46:43
  8. at Array.forEach (<anonymous>)
  9. at processDependenciesBlock (C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\FlagDependencyUsagePlugin.js:46:28)
  10. at Compilation.<anonymous> (C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\FlagDependencyUsagePlugin.js:23:6)
  11. at Compilation.applyPluginsBailResult1 (C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\node_modules\tapable\lib\Tapable.js:140:27)
  12. at Compilation.seal (C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\Compilation.js:571:9)
  13. at C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\Compiler.js:493:16
  14. at C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\node_modules\tapable\lib\Tapable.js:289:11
  15. at C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\Compilation.js:481:11
  16. at C:\Dev\azure.dev.com\CSS.CRM.Jackpot\OE\node_modules\webpack\lib\Compilation.js:452:13
  17. at processTicksAndRejections (node:internal/process/task_queues:78:11)
  18. Process terminated with code 1.

这是抛出异常的webpack代码:

  1. function processDependency(dep) {
  2. const reference = dep.getReference && dep.getReference();
  3. if(!reference) return;
  4. const module = reference.module;
  5. const importedNames = reference.importedNames;
  6. const oldUsed = module.used;
  7. const oldUsedExports = module.usedExports;
  8. if(!oldUsed || (importedNames && (!oldUsedExports || !isSubset(oldUsedExports, importedNames)))) {
  9. processModule(module, importedNames);
  10. }
  11. }

尝试过:
1.从webpack-cli运行:返回完全相同的错误消息。
1.以管理员身份运行:相同的错误消息。

7jmck4yq

7jmck4yq1#

终于调试好了。
原来是机器上没有安装正确的Typescript工具的问题。所以没有JavaScript文件可供webpack编译。
一旦安装了正确的工具,webpack就会按预期运行完成。
因此,如果您看到上面的错误消息,请检查是否正在从TS编译js文件。如果没有,这就是需要解决的实际问题。

相关问题