在 webpack@5.72.0 (目前最新的)上,我开始看到:
TypeError: Cannot read property 'buildMeta' of undefined
at HarmonyImportSpecifierDependency._getEffectiveExportPresenceLevel (/src/project/node_modules/.pnpm/webpack@5.72.0_webpack-cli@4.9.2/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js:165:43)
at HarmonyImportSpecifierDependency.getWarnings (/src/project/node_modules/.pnpm/webpack@5.72.0_webpack-cli@4.9.2/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js:176:32)
at Compilation.reportDependencyErrorsAndWarnings (/src/project/node_modules/.pnpm/webpack@5.72.0_webpack-cli@4.9.2/node_modules/webpack/lib/Compilation.js:3132:24)
at /src/project/node_modules/.pnpm/webpack@5.72.0_webpack-cli@4.9.2/node_modules/webpack/lib/Compilation.js:2729:28
Run Code Online (Sandbox Code Playgroud)
顶部框架是(源代码在这里):
/**
* @param {ModuleGraph} moduleGraph module graph
* @returns {number} effective mode
*/
_getEffectiveExportPresenceLevel(moduleGraph) {
if (this.exportPresenceMode !== ExportPresenceModes.AUTO)
return this.exportPresenceMode;
return moduleGraph.getParentModule(this).buildMeta.strictHarmonyModule
? ExportPresenceModes.ERROR
: ExportPresenceModes.WARN;
}
Run Code Online (Sandbox Code Playgroud)
为什么会moduleGraph.getParentModule(this)是未定义的?一般情况下应该怎样预防呢?
this我从里面倒出来_getEffectiveExportPresenceLevel,得到:
HarmonyImportSpecifierDependency {
_parentModule: undefined,
_parentDependenciesBlock: undefined,
_parentDependenciesBlockIndex: -1,
weak: false,
optional: false,
_locSL: 1,
_locSC: 12241,
_locEL: 1,
_locEC: 12242,
_locI: undefined,
_locN: undefined,
_loc: SourceLocation {
start: Position { line: 1, column: 12241 },
end: Position { line: 1, column: 12242 }
},
request: '@emotion/stylis',
userRequest: '@emotion/stylis',
range: [ 12241, 12242 ],
assertions: undefined,
sourceOrder: 4,
ids: [ 'default' ],
name: 'p',
exportPresenceMode: 2,
namespaceObjectAsContext: false,
call: undefined,
directImport: true,
shorthand: false,
asiSafe: true,
usedByExports: undefined
}
Run Code Online (Sandbox Code Playgroud)
我不太确定这意味着什么。也许request或者userRequest是一个提示( @emotion/stylis)。我不确定问题是否更多地出现在进口方面而不是进口方面,以及这指的是哪一方面。
不知道为什么会突然开始发生这种情况,假设软件包版本发生了一些变化。项目该区域的代码和配置最近没有变化。
Gal*_*ilo 15
对我来说,我已经更改了 package.json 文件的一些属性
"webpack": "5.71.0",
"webpack-cli": "4.9.2",
"webpack-dev-server": "4.8.0"
Run Code Online (Sandbox Code Playgroud)
到
"webpack": "5.65.0",
"webpack-cli": "4.9.1",
"webpack-dev-server": "4.7.1",
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6230 次 |
| 最近记录: |