【发布时间】:2020-11-17 05:14:26
【问题描述】:
我有一个使用 Webpack 和动态导入的 Vue 应用:
// App.vue
<template>
<div>
<button @click="isBtnClicked = true">Load lazy component</button>
<LazyComponent v-if="isBtnClicked" />
</div>
</template>
<script>
export default {
name: 'App',
components: {
LazyComponent: () => import('./components/LazyComponent'),
},
data: () => {
return {
isBtnClicked: false,
}
}
}
</script>
// components/LazyComponent.vue
<template>
<p>Hello from lazy component</p>
</template>
当点击应用中的按钮时,Webpack 运行时会动态创建一个<script> 标签并将其附加到文档的head。
有没有办法修改这个生成的<script> 标签的src 属性?我想添加一个动态查询参数,将元素附加到 DOM。
当前生成的标签类似于:
<script charset="utf-8" src="/js/0.js"></script>
我希望它看起来像:
<script charset="utf-8" src="/js/0.js?mytoken=12345"></script>
mytoken 和 12345 在运行时生成。
我正在使用 webpack 4.44.0、vue 2.6.11 和 vue-loader 15.9.3。
【问题讨论】:
标签: javascript vue.js webpack