【问题标题】:When I run ng build --prod, I get "Error: Cannot read property 'tapAsync' of undefined"当我运行 ng build --prod 时,我得到“错误:无法读取未定义的属性 'tapAsync'”
【发布时间】:2021-04-13 20:26:54
【问题描述】:

当我运行 ng build --prod 时出现这个奇怪的错误

Error: Cannot read property 'tapAsync' of undefined

没有堆栈跟踪,也没有其他线索。 但是我查看了错误日志文件,发现错误发生在一个名为 ExternalModuleFactory.js 的文件中

    /**
     * @param {NormalModuleFactory} normalModuleFactory the normal module factory
     * @returns {void}
     */
    apply(normalModuleFactory) {
        const globalType = this.type;
    const factorized = normalModuleFactory.hooks.factorize;
    factorized.tapAsync(
            "ExternalModuleFactoryPlugin",
            (data, callback) => {
                const context = data.context;
                const dependency = data.dependencies[0];

有谁知道这可能是什么原因造成的,和/或至少如何调试?

【问题讨论】:

    标签: angular typescript debugging webpack


    【解决方案1】:

    HtmlWebpackInlineSourcePlugininvoking getHooks HtmlWebpack Plugin during compilationmethod of

    此方法仅在版本中可用。 4 and up of HtmlWebpackPlugin.

    这就是the documentation recommends 使用此版本及更高版本的原因。

    安装html-webpack-plugin@next即可获取此版本

    【讨论】:

    • 你在哪里看到HtmlWebpackInlineSourcePlugin
    • 我有更新答案请查看@CodyBugstein
    • 很奇怪,因为它不适用于版本 5+
    【解决方案2】:

    通过卸载webpack 5.11 并安装npm install webpack@4 使其工作

    【讨论】:

    • 您应该接受您的回答,这对我来说也是正确的解决方法。谢谢
    猜你喜欢
    • 2019-07-08
    • 2023-03-30
    • 2019-11-06
    • 1970-01-01
    • 2021-04-17
    • 2020-06-17
    • 2020-07-23
    • 2021-08-04
    • 2018-08-08
    相关资源
    最近更新 更多