配置Vite manualChunks合并Vue组件与视图报错,如何解决?
解决Vite manualChunks合并组件与视图到单个文件的错误
你遇到的EISDIR错误是因为直接把目录路径@/components、@/views放进了manualChunks的数组里——Rollup会尝试把整个目录当作模块加载,而它只能处理具体文件,所以触发了读取目录的非法操作。
要正确合并组件和视图到单个chunk,得把manualChunks改成函数形式,通过模块路径判断来归类:
manualChunks(id) { // 把指定Vue生态依赖打包到单独chunk if (id.includes('node_modules') && ['vuetify', 'vue', 'vue-router', 'pinia', 'vue-i18n'].some(pkg => id.includes(pkg))) { return 'VueStuff'; } // 匹配components和views下的所有文件,合并到同一个chunk if (id.includes('/src/components/') || id.includes('/src/views/')) { return 'VueComponents'; } }
如果你的小型应用想直接把所有代码(包括依赖)合并成单个文件,可以更简单地配置:
manualChunks: () => 'single'
这样所有模块都会被打包到一个chunk里,完全满足小型应用的合并需求。
内容的提问来源于stack exchange,提问作者theking2
相关产品推荐
相关产品推荐

