TL;DR:更新Angular应用程序时,出现了一个奇怪的错误。如何解决?
内容:
经过很长一段时间,我终于将我的Angular 11更新为Angular 16应用程序。
当我沿着走的时候,我得到了一些错误,这些错误都是可以修复的。
一个错误阻塞了我的构建,我甚至不知道从哪里开始。
./projects/configurator-frontend/src/lib/configurator-frontend.module.less?ngResource - Error: Module build failed (from ./node_modules/css-loader/dist/cjs.js):
Error: The 'exportType' option with the 'css-style-sheet' or 'string' value requires the 'esModules' option to be enabled
一些事实:
- 我在做一个图书馆
- 它与解析库主模块的LESS文件有关
- 如果我从模块styleUrls中删除less文件,它会工作得很好(所有其他的less文件都能正确处理)
- 如果我清空文件,错误仍然出现
- 如果我复制的内容到另一个文件,它的作品(所以没有连接到较少的文件本身
- 如果我创建一个新的NG项目,并在模块级别上引入更少,错误再次出现
我个人的想法:
- 似乎webpack中的某些设置不正确(我没有偏离ng默认行为-没有自定义Webpack等)。
我尝试的是:
- 删除node_modules + package-lock.json
- 清除npm缓存
- 更新Node + npm
- 已更新所有依赖项
我对webpack/node/npm不是很深入,所以我甚至不确定从哪里开始。有什么想法可以解决这个问题吗?
一些附加信息:
Angular CLI: 16.2.5
Node: 18.18.0
Package Manager: npm 10.2.0
OS: win32 x64
Angular: 16.2.8
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1602.5
@angular-devkit/build-angular 16.2.5
@angular-devkit/core 16.2.5
@angular-devkit/schematics 16.2.5
@angular/cli 16.2.5
@schematics/angular 16.2.5
ng-packagr 16.2.3
rxjs 7.8.1
typescript 5.1.6
zone.js 0.13.3
1条答案
按热度按时间ou6hu8tu1#
为了解决这个问题,您不允许将您的less文件称为:
[moduleName].module.less
它必须被称为任何东西,但后缀
.module.less
(As一个个人的附加物:这是我见过的最令人不安的行为之一)