Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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 如何在服务器发送的Vue JS中呈现HTML文件?_Javascript_Html_Vue.js_Vuejs2_Fetch - Fatal编程技术网

Javascript 如何在服务器发送的Vue JS中呈现HTML文件?

Javascript 如何在服务器发送的Vue JS中呈现HTML文件?,javascript,html,vue.js,vuejs2,fetch,Javascript,Html,Vue.js,Vuejs2,Fetch,我对Vue JS非常陌生。目前,我正在寻找一种方法来呈现服务器发送的HTML页面。假设我有一个节点路由器“health”,它发送一个HTML文件,如下所示 res.sendFile('test.html', { root: path.dirname(require.main.filename) + '/public/' }); 在这种情况下,我可以尝试访问该文件并通过Vue JS以这种方式呈现它吗 <div id="app"> <div v-html="reactPage"&

我对Vue JS非常陌生。目前,我正在寻找一种方法来呈现服务器发送的HTML页面。假设我有一个节点路由器“health”,它发送一个HTML文件,如下所示

res.sendFile('test.html', { root: path.dirname(require.main.filename) + '/public/' });
在这种情况下,我可以尝试访问该文件并通过Vue JS以这种方式呈现它吗

<div id="app">
<div v-html="reactPage"></div>
</div>
<script>
let sessionId = "";
(function() {
    const app = new Vue({
        el: '#app',
        data: {
            reactPage: undefined
        },
        created() {
            fetch('launch/health')
                .then(response => {
                    this.reactPage = response;
                })
        }
    })
})();

设sessionId=“”;
(功能(){
const app=新的Vue({
el:“#应用程序”,
数据:{
第页:未定义
},
创建(){
获取('启动/运行状况')
。然后(响应=>{
this.reactPage=响应;
})
}
})
})();


这段代码没有像我预期的那样工作。

是的,这里唯一的错误是
fetch
语法。试试这个:

fetch('launch/health'))
。然后(响应=>{
返回response.text();
})
。然后(数据=>{
this.reactPage=数据;
})

可以考虑使用<代码> AXIOS < /C>以便于HTTP请求。

谢谢。成功了。缺少的部分是text()。您应该使用then()而不是than(),因为我正在使用fetch API。但我还有一个问题。我成功加载了一个静态HTML页面。但一旦我尝试加载一个初始化react应用程序的HTML页面,我就什么也看不见了。基本上,我尝试在上面的Vue JS应用程序中加载react应用程序。您认为这两个库(Vue和React)是相互冲突还是发生了类似的情况??。在用react应用程序替换dom之前,我使用了jquery html()。然后它成功了。很高兴它成功了。我确实使用了
.then()
,所以我不确定您指的是什么。答案中的语法说明了使用
fetch
的正确方法,现在问题已经解决了。至于你的另一个问题,这是行不通的。很遗憾,您无法在
v-html
中加载已编译的React应用程序。是否有任何方法可以使用Vue JS编译和绑定React页面?不,Vue无法编译React应用程序。你为什么要这样做?因为我使用parcel作为react应用程序的构建工具,所以我认为应该有一种方法来实现这一点。