External外部化后线上报错找不到依赖怎么办?
我在用 Vite 打包项目时,把 lodash 和 axios 通过 external 配置外部化了,本地开发没问题,但部署到线上后控制台报 Uncaught ReferenceError: _ is not defined,是不是漏了什么步骤?
我是在 vite.config.js 里这样配的:
export default {
build: {
rollupOptions: {
external: ['lodash', 'axios'],
output: {
globals: {
lodash: '_',
axios: 'axios'
}
}
}
}
}
然后在 HTML 里手动加了 CDN 引用,但好像顺序或者变量名对不上?
检查一下你的 HTML 文件,确保 lodash 和 axios 的 CDN 链接在你的 JavaScript 文件之前加载。顺序很重要,得先有全局变量 _ 和 axios,才能在后续的脚本中使用。
另外,确认一下 CDN 链接是否有效,可以临时去掉 external 配置,看看是否有错误信息,这样能排除 CDN 链接本身的问题。
正确的 HTML 引入方式大致如下:
记得替换
src属性为你实际使用的 CDN 链接地址。这样应该就能解决找不到依赖的问题了。