mirror of
https://github.com/XiaoDaiGua-Ray/ray-template.git
synced 2025-08-07 13:39:52 +08:00
fix: 修复 vite 打包时,分包策略问题导致构建循环引用问题
This commit is contained in:
parent
ba6ceef0dc
commit
0f2193cc14
@ -1,5 +1,5 @@
|
||||
export const chunksCopilot = (id: string) => {
|
||||
const utilsLibOptions = 'src/utils'
|
||||
export const chunksCopilot = () => {
|
||||
const utilsLibOptions = ['src/utils']
|
||||
const hooksLibOptions = [
|
||||
'src/hooks/components',
|
||||
'src/hooks/template',
|
||||
@ -7,15 +7,15 @@ export const chunksCopilot = (id: string) => {
|
||||
]
|
||||
const nodeModulesOptions = ['node_modules']
|
||||
|
||||
// 是否为模板工程下的 utils 库
|
||||
const isUtils = () => id.includes(utilsLibOptions)
|
||||
// 是否为模板工程下的 hooks 库,不包含 node_modules 库
|
||||
const isHooks = () =>
|
||||
hooksLibOptions.some((option) => id.includes(option)) &&
|
||||
!nodeModulesOptions.some((option) => id.includes(option))
|
||||
// 是否为 node_modules 库
|
||||
const isNodeModules = () =>
|
||||
const isNodeModules = (id: string) =>
|
||||
nodeModulesOptions.some((option) => id.includes(option))
|
||||
// 是否为模板工程下的 utils 库
|
||||
const isUtils = (id: string) =>
|
||||
utilsLibOptions.some((option) => id.includes(option) && !isNodeModules(id))
|
||||
// 是否为模板工程下的 hooks 库,不包含 node_modules 库
|
||||
const isHooks = (id: string) =>
|
||||
hooksLibOptions.some((option) => id.includes(option) && !isNodeModules(id))
|
||||
|
||||
return {
|
||||
isUtils,
|
||||
|
@ -17,6 +17,7 @@ export default defineConfig(({ mode }) => {
|
||||
appPrimaryColor,
|
||||
base,
|
||||
} = config
|
||||
const { isUtils, isHooks, isNodeModules } = chunksCopilot()
|
||||
|
||||
const __APP_CFG__ = {
|
||||
pkg: {
|
||||
@ -71,18 +72,17 @@ export default defineConfig(({ mode }) => {
|
||||
rollupOptions: {
|
||||
output: {
|
||||
manualChunks: (id) => {
|
||||
const { isUtils, isHooks, isNodeModules } = chunksCopilot(id)
|
||||
const index = id.includes('pnpm') ? 1 : 0 // 兼容 pnpm, yarn, npm 包管理器差异
|
||||
|
||||
if (isUtils()) {
|
||||
if (isUtils(id)) {
|
||||
return 'utils'
|
||||
}
|
||||
|
||||
if (isHooks()) {
|
||||
if (isHooks(id)) {
|
||||
return 'hooks'
|
||||
}
|
||||
|
||||
if (isNodeModules()) {
|
||||
if (isNodeModules(id)) {
|
||||
return id
|
||||
.toString()
|
||||
.split('node_modules/')[1]
|
||||
|
Loading…
x
Reference in New Issue
Block a user