Uncaught TypeError: Cannot read properties of undefined (reading 'getAttribute') ?

vue3 + element plus, nginx
在 Windows 下面运行正常
Linux 下面出现异常:

Uncaught TypeError: Cannot read properties of undefined (reading 'getAttribute')
    at iconfont.js:1:15530
    at iconfont.js:1:16749

看代码是这里错误

iconfont.js 中 getAttribute("data-injectcss");

需要的都已经导入

import ElementPlus from 'element-plus'; // 为vue3项目特别更新的版本
import 'element-plus/dist/index.css';
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
阅读 3.3k
1 个回答

猜测你这是直接按照 iconfont symbol 的文档来使用的,出现这个问题,一般是script 还没注入属性 data-injectcss 相关的script。可尝试修改 iconfont.js 相关代码:

...
var script=function(){var scripts=document.getElementsByTagName("script");return scripts[scripts.length-1]}();
// 增加这一行
if (!script) return 
var shouldInjectCss=script.getAttribute("data-injectcss");

但是,还是建议使用 iconfont 时,尽量按照 ElementPlus 的推荐方式来。
自动导入,支持任何图标集。
https://element-plus.org/zh-C...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题