如何避免 vite build 在 "dist" 目录中删除?
How to avoid vite build deleting inside of "dist" directory?
我想通过 vite 创建多个库,所以我先尝试“rollupOptions”。喜欢,
import { defineConfig } from 'vite'
export default defineConfig({
build: {
rollupOptions: {
input: {
"qy-viewer": 'src/qy-viewer.ts',
"qy-swiper": 'src/qy-swiper.ts'
}
}
}
})
但这会产生有趣的结果,包括类似散列的字符串,例如 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: {
}
}
})
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: {
}
}
})
package.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"
},
}
当我独立执行 npm run build:swiper
或 npm run build:viewer
时,这工作得很好,但是一旦我执行 npm run build:lib
,只创建 qy-viewer。
有什么方法可以避免 vite build
删除 dist 目录中的文件?
将build.emptyOutDir
设置为false
:
import { defineConfig } from 'vite'
export default defineConfig({
build: {
emptyOutDir: false,
},
⋮
})
我想通过 vite 创建多个库,所以我先尝试“rollupOptions”。喜欢,
import { defineConfig } from 'vite'
export default defineConfig({
build: {
rollupOptions: {
input: {
"qy-viewer": 'src/qy-viewer.ts',
"qy-swiper": 'src/qy-swiper.ts'
}
}
}
})
但这会产生有趣的结果,包括类似散列的字符串,例如 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: {
}
}
})
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: {
}
}
})
package.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"
},
}
当我独立执行 npm run build:swiper
或 npm run build:viewer
时,这工作得很好,但是一旦我执行 npm run build:lib
,只创建 qy-viewer。
有什么方法可以避免 vite build
删除 dist 目录中的文件?
将build.emptyOutDir
设置为false
:
import { defineConfig } from 'vite'
export default defineConfig({
build: {
emptyOutDir: false,
},
⋮
})