vite怎么实现worker分包?

vite.config.ts

export default defineConfig({
  worker: {
    rollupOptions: {
      output: {
        manualChunks(e) {
          fs.appendFile('./manual-chunks.txt', `${e}\n`, () => undefined)
          // /node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js
          const regex = /node_modules\/monaco-editor\/esm\/vs\/language\/(html|typescript|css)/
          if (!regex.test(e)) return 'monaco-core.worker'
        },
      },
    },
  },
})

然而产生了一个报错。好像是说UMD和IIFE格式不支持分包。
但是rollup不是可以支持worker分包的吗。
设置一下 inlineDynamicImports: true, 就可以了
不过vite不能设置这个选项

 ERROR  [vite:worker] Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.                                                                           16:12:10
file: D:/Programing/WebstormProjects/cow-Low-code/node_modules/monaco-editor/esm/vs/language/html/html.worker.js?worker

image.png

阅读 5.1k
1 个回答

vite 可以设置 rollup 的 inlineDynamicImports 呀,
rollupOptions 里面设置不就好了么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题