Javascript 来自不同项目/域的Web包和vue异步组件
我是一个新手,我已经看了一些教程,并且在我的项目中得到了一个有效的配置 我尝试以以下方式异步加载vuejs组件:Javascript 来自不同项目/域的Web包和vue异步组件,javascript,webpack,vue.js,Javascript,Webpack,Vue.js,我是一个新手,我已经看了一些教程,并且在我的项目中得到了一个有效的配置 我尝试以以下方式异步加载vuejs组件: <template> <div id="app"> <component :is="template" > </component> </div> </template> <script> export default { name: 'App',
<template>
<div id="app">
<component
:is="template"
>
</component>
</div>
</template>
<script>
export default {
name: 'App',
computed: {
template () {
return () => import(`@/templates/${this.$template.name}`)
}
},
mounted () {
this.template().then(comp => {
this.$nextTick(() => {
//...
})
})
}
}
</script>
导出默认值{
名称:“应用程序”,
计算:{
模板(){
return()=>import(`@/templates/${this.$template.name}`)
}
},
挂载(){
this.template().then(comp=>{
这个.$nextTick(()=>{
//...
})
})
}
}
在网页包编译之后,我得到了三个文件:
- app.js
- 0.js
- index.html
<!--https://mywebsite.com/index.html-->
<script src="https://my_widget_host.com/app.js"></script>
当它试图获取0.js文件时,我得到一个404错误,因为调用是打开的,而不是打开的
有没有一种方法可以在
0.js
文件前面加上承载该文件的服务器的url?当然,这就是publicPath()被发明的原因。您可以在构建时设置它,或者更方便地在运行时设置它-只需分配窗口。webpack\u public\u path=''
注意。您可能会感兴趣:如果您的组件被编译到/js/dist/这样的文件夹中,并且您正在使用预取,那么这种方法也会起作用。谢谢你。