如何避免 vite 构建删除“dist”目录内的内容?

koc*_*fan 19 javascript build typescript vite

我想通过 vite 创建多个库,所以我首先尝试“rollupOptions”。喜欢,

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    rollupOptions: {
      input: {
        "qy-viewer": 'src/qy-viewer.ts',
        "qy-swiper": 'src/qy-swiper.ts'
      }
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

但这会产生有趣的结果,包括类似散列的字符串,例如qy-swiper.f3fc032d.js.
这是没有用的,所以我放弃了这个方法。

接下来我尝试准备多个 vite 配置文件。喜欢,

vite.qy-swiper.config.ts

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    lib: {
      entry: 'src/qy-swiper.ts',
      name: 'QySwiper',
      fileName: (format) => `qy-swiper.${format}.js`
    },
    rollupOptions: {
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

vite.qy-viewer.config.ts

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    lib: {
      entry: 'src/qy-viewer.ts',
      name: 'QyViewer',
      fileName: (format) => `qy-viewer.${format}.js`
    },
    rollupOptions: {
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

包.json

{
  "scripts": {
    "build:swiper": "tsc && vite build --config vite.qy-swiper.config.ts",
    "build:viewer": "tsc && vite build --config vite.qy-viewer.config.ts",
    "build:lib": "npm run build:swiper && npm run build:viewer"
  },
}

Run Code Online (Sandbox Code Playgroud)

npm run build:swiper当我执行或独立时,这工作得很好npm run build:viewer,但是一旦我执行npm run build:lib,只创建 qy-viewer 。
有什么方法可以避免删除 dist 目录中的文件吗vite build

ton*_*y19 47

设置:build.emptyOutDirfalse

\n
import { defineConfig } from \'vite\'\n\nexport default defineConfig({\n  build: {\n    emptyOutDir: false,\n  },\n  \xe2\x8b\xae\n})\n
Run Code Online (Sandbox Code Playgroud)\n

  • 也可以通过命令行使用“--emptyOutDir” (7认同)