顺晟科技
2022-09-03 12:47:46
243
请教一下大家,在开发有些模块时,不可避免的需要引入第三方js,这些js在npm库中又没有。这是我的目录结构,我只想在某个模块中引入,不想在全局引入:
顺晟科技:
1.如果三方js本身满足UMD 规范 直接局部引用即可2.如果不满足可以自行改造 在引入
window.go 不就是全局的吗。。。
大可不必搞得太绕。如果第三方js本身是 esm 或者 cjs,那么丢到项目任意文件夹里,在组件引入即可。如果是直接通过html的script引用的第三方js,那么直接在组件中以 window.xxx 或者 xxx 使用即可
methods:{graph(){var $ = go.GraphObject.make;}}
直接使用不行:
window.go这个go是哪来的?挂在Windows上面了,不就是所以页面都可以访问到了吗?
window.go
二、另外,我从网上也找到了别人的解决方案,不知道哪一种更优秀methods:{graph(){window.go =require(’…/…/lib/go.js’);var $ = go.GraphObject.make;}}
2、在.vue中加入import { go } from ‘…/…/lib/go.js’
一、我后来想了个办法,成功倒是成功了,不知道是不是合理的,请大神指点,例如gojs:1、在js文件末尾加上var go = window.go;export {go};
不想全局引入的意思是:有人说在App.vue中引入,这样所有页面打开,不管用不用这个js,都会引入
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in mounted hook: “TypeError: Cannot read properties of undefined (reading ‘GraphObject’)”
23
2022-09
23
2022-09
23
2022-09
23
2022-09
13
2022-09
13
2022-09