Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自不同项目/域的Web包和vue异步组件_Javascript_Webpack_Vue.js - Fatal编程技术网

Javascript 来自不同项目/域的Web包和vue异步组件

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',

我是一个新手,我已经看了一些教程,并且在我的项目中得到了一个有效的配置

我尝试以以下方式异步加载vuejs组件:

<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
这就是我想要的结果,因为这将是一个小部件,所以只有一个js文件包含(app.js),它在执行过程中调用0.js,当app.js包含在同一主机的index.html页面上时,它工作得很好

但如果我想包含来自另一台主机的app.js文件,该怎么办

例如,如果我有mywebsite.com/index.html,其中包括app.js脚本

<!--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/这样的文件夹中,并且您正在使用预取,那么这种方法也会起作用。谢谢你。