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