Javascript 如何在服务器发送的Vue JS中呈现HTML文件?
我对Vue JS非常陌生。目前,我正在寻找一种方法来呈现服务器发送的HTML页面。假设我有一个节点路由器“health”,它发送一个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"&
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应用程序的构建工具,所以我认为应该有一种方法来实现这一点。