vuepress / core

Vue-Powered Static Site Generator
https://vuepress.vuejs.org
MIT License
2.28k stars 926 forks source link

[Feature request] Improve shouldPrefetch and shouldPrefetch option #952

Open Mister-Hope opened 2 years ago

Mister-Hope commented 2 years ago

Clear and concise description of the problem

Currenly the (file: string, type: string) => boolean is TOO unmeaningful.

The file args in vite is the output chunk name, which is probably like index.html.xxxx.js.

image

It lost infoamtion about how it was generated, so users at this time have No idea about what's page is this chunk generated from. So it's impossible for a developer or a user to take actual effect when setting a function.

Just an example, I am getting hundreds of index.html.xxxx.js in https://github.com/vuepress-theme-hope/v2/tree/gh-pages/assets.

image

Suggested solution

The parameters should be rebuilt. At least it should include:

{from: 'markdown', source: 'path/to/markdown.md'}
{from:'import', source: 'path/to/files/where/the/chunk/is/imported.ts'}
{from:'script', source: 'path/to/file/entry.ts'}

Edited: In some cases we might get an array here, so we can use array formats.

Alternative

No response

Additional context

No response

github-actions[bot] commented 2 years ago

This issue is marked as stale because it has not had recent activity. Issues marked with stale will be closed if they have no activity within 3 days.

rockbenben commented 2 years ago

I feel the same way. Sometimes the file doesn't change, but once rebuild, a bunch of files change their names, and you can't find difference in different commits.