Vite文档中提到的“查询后缀”是什么?

Sko*_*ini 5 javascript import web-worker node.js vite

我一直在阅读Vite 文档,其中提到使用“查询后缀”导入文件,但我从未遇到过这种情况,并且不确定要搜索什么来了解更多信息。我不确定这是否是 Node.js、Vite.js 原生的,或者它是否是 Vite 内置的插件。

这是我所指的具体部分:


使用查询后缀导入

可以通过在导入请求中附加 ?worker 或 ?sharedworker 来直接导入 Web Worker 脚本。默认导出将是自定义工作构造函数:

import MyWorker from './worker?worker'

const worker = new MyWorker()
Run Code Online (Sandbox Code Playgroud)

工作脚本还可以使用 import 语句而不是 importScripts() - 请注意,在开发过程中,这依赖于浏览器本机支持,目前仅适用于 Chrome,但对于生产版本,它会被编译掉。

默认情况下,工作脚本将作为生产构建中的单独块发出。如果您希望将工作程序内联为 base64 字符串,请添加内联查询:

import MyWorker from './worker?worker&inline'
Run Code Online (Sandbox Code Playgroud)

如果您希望以 URL 形式检索工作人员,请添加 url 查询:

import MyWorker from './worker?worker&url'
Run Code Online (Sandbox Code Playgroud)

有关配置所有工作人员捆绑的详细信息,请参阅工作人员选项。


更新:

我发现一个MDN 页面import似乎朝着我正在寻找的方向迈出了一步,而且这个 MDN 页面import.meta看起来很像我正在寻找的内容。我尝试按照这个线索进行操作,但这并没有帮助我更好地理解这个 Vite 功能。

查询后缀是?worker的自定义 Vite 实现吗import.meta

小智 0

不知道这是 Vite 特有的问题。但是,这解决了我的错误。

import MyWorker from './worker?worker'

const worker = new MyWorker()
Run Code Online (Sandbox Code Playgroud)