我正在使用Webpack和VueJs2。我想在组件中使用第三方JavaScript库,例如:
<script async defer src="https://apis.google.com/js/api.js" ... ></script>
我在这里找到了有关如何对npm软件包执行此操作的文章,但对我来说不起作用,因为该库不能作为npm软件包使用。
我无法在本地下载文件并使用它,因为该库可能会更改并停止工作。因此,每次浏览器加载页面时,都必须从链接中加载它。
我在这里找到了一种可能的解决方案,但这基本上是一种破解(script
在文档加载后修改dom以添加元素)
我认为对于此问题必须有一个简单的良好实践解决方案,因为我认为这是一个常见的用例。
更新:如果将脚本放在索引文件的head标签中,则会为所有组件加载该脚本。出于性能原因,我希望仅针对特定组件加载它。
好的,找到了一个满足所有要求的解决方案。
使用v-if
指令将脚本添加到index.html中
<script v-if="loadGoogleAPI" async defer src="https://apis.google.com/js/api.js" ... ></script>
在组件文件(.vue
)中,如果要加载脚本,请将标志设置为true
:
<script>
export default {
...
loadGoogleAPI: true,
data() {
...
}
};
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句