vite打包遇到的问题
Rollup是一个模块打包器,Vite使用它来为生产环境打包和优化您的代码。默认情况下,Rollup假定所有依赖项都是本地的,应该包含在bundle中。然而,在您的bundle中包含大型依赖项会增加应用程序的大小,这可能会减慢用户的加载时间。
为避免这种情况,Rollup提供了排除某些模块不包含在bundle中,而是将其视为外部依赖项的功能。这意味着Rollup不会将这些模块包含在bundle中,而是期望它们在运行时可用。这可以帮助减小bundle的大小,提高应用程序的性能。
在您提供的错误消息中,Rollup无法解析您的api.js
文件中axios
模块的导入语句,这可能会在运行时中断您的应用程序。要解决此问题,您需要告诉Rollup将axios
视为外部依赖项,而不是包含在bundle中。通过在vite.config.js
文件的rollupOptions
配置中的external
数组中添加axios
,您明确告诉Rollup将axios
视为外部依赖项。
export default {
build: {
rollupOptions: {
external: ['axios'],
},
},
};