Vite - 如何在 Rollupjs build.rollupOptions.external 中使用通配符?

Car*_*ton 17 rollupjs vite

我正在使用 Vite 构建库,构建库时出现以下错误:

Rollup failed to resolve import "node:path"
Run Code Online (Sandbox Code Playgroud)

通过将失败的导入添加到汇总选项中,我可以修复错误,但构建会继续抱怨每次node:*导入。最后我不得不将每一个单独添加到build.rollupOptions.external

Rollup failed to resolve import "node:path"
Run Code Online (Sandbox Code Playgroud)

虽然这解决了问题,但node单独列出每个导入非常耗时。有没有办法使用某种通配符语法来自动解析所有node导入?

build: {
  rollupOptions: {
    external: [            
      'node:path',           
      'node:https',
      'node:http',
      'node:zlib',
      ... 
    ],
},
Run Code Online (Sandbox Code Playgroud)

ton*_*y19 24

build.rollupOptions.external也接受正则表达式。以下RegExp匹配任何以 开头的字符串node:

/^node:.*/
Run Code Online (Sandbox Code Playgroud)

所以配置external如下:

// vite.config.js
import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    rollupOptions: {
      external: [
        /^node:.*/,
      ]
    }
  }
})
Run Code Online (Sandbox Code Playgroud)