在vue中使用vuedraggable插件,代码中只要
import draggable from "vuedraggable";
在safari浏览器中报错:TypeError: 'undefined' is not an object (evaluating 'setPublicPath_i.src.match')
大家有碰到这类问题吗
这个错误是由于 vuedraggable 插件中使用了 SystemJS 的 setPublicPath 方法,而 Safari 浏览器不支持这个方法导致的。
一个解决办法是禁用 setPublicPath 方法:
import draggable from "vuedraggable";
if (process.browser) {
const setPublicPath = draggable.setPublicPath;
draggable.setPublicPath = () => {};
}
另一种解决办法是在你的项目中引入这个包 systemjs ,在引入 draggable 的地方使用这个方式引入
import draggable from "vuedraggable/dist/vuedraggable.common";