Skip to content

不依赖 resourceQuery 生成 module id 导致代码 hot-loader 出现问题 #2037

Open
@xiaoshuangLi

Description

@xiaoshuangLi

Version

15.10.0

Reproduction link

Steps to reproduce

What is expected?

生成 shortFilePath 时,添加 resourceQuery 生成的依赖
image

What is actually happening?

image

Issue Description

我们的开发场景时,基于 yaml 生成文档,尽管 yaml 只是一个数据结构,但是我们用的有点奇葩:

./api.yaml ==> 生成的文档,包含组件示例,api 介绍
./api.yaml?yaml-doc=api ==> 只生成 api 介绍

由于 vue-loader 在 15.10.0 之后将 resourceQuery 不再用于生成 module id,所以两个地址生成的 module id 是一样的。导致 hot-loader 运行时,基于 module id ./api.yaml?yaml-doc=api 的结果会覆盖 ./api.yaml 的结果(毕竟 module id 一样)。所以最终 ./api.yaml 使用的组件被替换成了 ./api.yaml?yaml-doc=api 的组件,导致页面出现问题。

下面是图片示例

正确的结果
image

错误的结果
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions