-
Notifications
You must be signed in to change notification settings - Fork 595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
外链脚本没有按照引入的顺序执行 #424
Comments
确实对于外联的脚本似乎没有串起来 |
应该是不支持这个vue.global.prod.min.js,这个js里直接是在全局作用域用的var声明变量Vue,被无界用function包裹后,var变量声明不会挂载到window上,类似于这样: (function(){
var Vue;
})()
console.log(Vue)//Uncaught ReferenceError: Vue is not defined 所以得用将全局变量挂载到window上或者umd格式的外联脚本 |
嗯嗯你说的这个也是日常开发需要注意的一个地方,但是我说的这个是动态添加 |
就是这个vue.global.prod.min.js外链不行,执行顺序是对的,你把这个外链换成jquery的,在wujie中都是可以的。而且你这个精简的demo也不对,wujie是先获取外链js内容转为内联的script再append的,这个demo是直接append的外链script |
我这个demo就是说明不通过 |
哦,我理解你的意思了。我是指这个不配置jsIgnores也不行 |
嗯嗯,你说的那个闭包的问题我知道的 |
请问,如果是镶嵌在html中的<script></script>代码块中的代码,当被wujie的function包住以后,如何才能被外部识别到 |
@yyystation 配置 jsLoader: (code, url, base) => {
return code.replace("var Vue", "window.Vue");
} |
这个问题我也碰到了,加载的子应用中动态插入js,js的执行顺序很随机。 |
@yiludege 请教这个问题现在有什么方案可以绕过去么 |
描述bug
外链脚本没有按照引入的顺序执行,而是谁先加载完就执行谁
如何复现
给出详细的复现步骤
1、子应用通过外链形式引入
vue.global.prod.min.js
2、主应用配置
jsIgnores
:3、 打开控制台会提示
Uncaught ReferenceError: Vue is not defined
最小复现仓库或者地址
这里精简了一下Wujie相关的代码来复现BUG:
https://stackblitz.com/edit/js-6myawr?file=index.html
The text was updated successfully, but these errors were encountered: