Closed bacy closed 4 years ago
我也碰到同样的问题,vue中用v-html指令渲染的时候js文件会被下载两次,当js文件较大时有些游览器还会加载包content-length不一致的错误,我目前的解决方法是在赋值给v-html前移除所有用link标签加载的js脚本:
//避免重复加载资源
var fixedAppContent = "";
if (appContent) {
fixedAppContent = appContent;
var linkTags = appContent.match(/<link((?!<).)*>/g);
for (let i = 0; i < linkTags.length; i++) {
fixedAppContent = fixedAppContent.replace(
linkTags[i],
linkTags[i].replace("<", "<!--").replace(">", "-->")
);
}
}
我也碰到同样的问题,vue中用v-html指令渲染的时候js文件会被下载两次,当js文件较大时有些游览器还会加载包content-length不一致的错误,我目前的解决方法是在赋值给v-html前移除所有用link标签加载的js脚本:
//避免重复加载资源 var fixedAppContent = ""; if (appContent) { fixedAppContent = appContent; var linkTags = appContent.match(/<link((?!<).)*>/g); for (let i = 0; i < linkTags.length; i++) { fixedAppContent = fixedAppContent.replace( linkTags[i], linkTags[i].replace("<", "<!--").replace(">", "-->") ); } }
这是个不错的办法,不过你这样写,会把css给移除了 除了判断link的话,还得把style过滤掉
npm update 更新到最新的依赖即可
What happens?
一个小疑问,v-html和importEntry不会导致js被下载两次吗?
一次是v-html导致,一次是fetch查的。这样不会有性能或者效率的损失吗?
最小可复现仓库
复现步骤,错误日志以及相关配置
相关环境信息