Quill 导入导致“缺少依赖项”错误

Mat*_*t M 0 quill

我们正在尝试升级到 Angular 11,但发现这Quill.import会导致错误:

An error occurred during the build:
Error: The target entry-point "@project/project-pattern-lib" has missing dependencies:
 - core/module
 - blots/block/embed
 - modules/clipboard
 - delta
 - formats/link

    at TargetedEntryPointFinder.findEntryPoints (D:\Dev\Git_project\project\node_modules\@angular\compiler-cli\ngcc\src\entry_point_finder\targeted_entry_point_finder.js:40:23)
    at D:\Dev\Git_project\project\node_modules\@angular\compiler-cli\ngcc\src\execution\analyze_entry_points.js:29:41
r.js:28:29)
    at SyncLocker.lock (D:\Dev\Git_project\project\node_modules\@angular\compiler-cli\ngcc\src\locking\sync_locker.js:34:24)
    at SingleProcessExecutorSync.execute (D:\Dev\Git_project\project\node_modules\@angular\compiler-cli\ngcc\src\execution\single_process_executor.js:57:27)
    at Object.mainNgcc (D:\Dev\Git_project\project\node_modules\@angular\compiler-cli\ngcc\src\main.js:74:25)
    at Object.process (D:\Dev\Git_project\project\node_modules\@angular\compiler-cli\ngcc\index.js:29:23)
    at NgccProcessor.processModule (D:\Dev\Git_project\project\node_modules\@ngtools\webpack\src\ngcc_processor.js:163:16)
    at D:\Dev\Git_project\project\node_modules\@ngtools\webpack\src\ivy\host.js:109:18
    at D:\Dev\Git_project\project\node_modules\@ngtools\webpack\src\ivy\host.js:39:24
    at Array.map (<anonymous>)
    at Object.host.resolveModuleNames (D:\Dev\Git_project\project\node_modules\@ngtools\webpack\src\ivy\host.js:37:32)
    at actualResolveModuleNamesWorker (D:\Dev\Git_project\project\node_modules\typescript\lib\typescript.js:102904:133)
    at resolveModuleNamesWorker (D:\Dev\Git_project\project\node_modules\typescript\lib\typescript.js:103126:26)
    at resolveModuleNamesReusingOldState (D:\Dev\Git_project\project\node_modules\typescript\lib\typescript.js:103200:24)
 - core/module
 - blots/block/embed
 - modules/clipboard
 - delta
 - formats/link

See "C:\Users\Name\AppData\Local\Temp\ng-nIGMuY\angular-errors.log" for further details.
Run Code Online (Sandbox Code Playgroud)

我们似乎找不到任何解决办法。所有这些“缺失的依赖项”都在代码中引用,例如:

import Quill from "quill";
const BlockEmbed = Quill.import(
  "blots/block/embed"
) as typeof Parchment.default.Embed;

Run Code Online (Sandbox Code Playgroud)

Mat*_*t M 5

发现这里有一个奇怪的语法问题,以下解决了它:

const blockPath = 'blots/block/embed';
const BlockEmbed = Quill.import(blockPath);
Run Code Online (Sandbox Code Playgroud)

不知道为什么这可以修复它。