vue.js - 如何在服务端渲染页面中使用一些 Vue 组件
问题描述
我想慢慢地将我现有的服务器端渲染网站的一部分转换为 vue 组件。在此直播中完成的方式 ( https://www.youtube.com/watch?v=qVueTeO4yMs&t=960s )。
因此,有一个包装<div id="app">
围绕着所有正常的 ssr html。在某些页面上,有<custom-element>
vue 组件,应该在适当的位置呈现。
这就是我的自动取款机:
<body>
<div id="app">
<h1>SSR content</h1>
This should stay
<testing-component></testing-component> <-- render the component here
</div>
</body>
import { createApp } from 'vue'
import TestingComponent from './components/TestingComponent.vue';
const app = createApp({
el: '#app'
});
app.component('testing-component', TestingComponent);
但这并没有渲染任何东西。
添加app.mount("#app");
会覆盖我的<div id="app">
.
那么,如何安装组件,而不更换我的所有东西<div id="app">
?
更新
忘了说我用的是Vite。通过更新 vite 配置文件中的一些设置,我可以使它工作:
vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
vue: 'vue/dist/vue.esm-bundler.js', // This was needed.
},
},
})
入口点vue:
import { createApp } from 'vue'
import TestingComponent from './components/TestingComponent.vue';
const app = createApp({
}).mount("#app");
app.component('testing-component', TestingComponent);
这将增加构建文件,所以有人告诉我。
解决方案
推荐阅读
- python - 在 TensorBoard 回调中设置 profile_batch 参数
- python - 添加删除命令时代码行为怪异
- python - Google 本地应用引擎 dev_appserver.py 未运行
- java - RandomAccessFileChannel 写入然后读取,通过缓存或磁盘 IO
- javascript - 如何使用 php 和 javascript 循环绘制谷歌饼图
- azure-powershell - 在 azure 中检索应用网关的前端 IP 地址
- linux - 如何将文件中的内容附加到另一个文件之前}
- php - 从 Web 服务解码 JSON 返回 JSON 错误语法
- kotlin - 使用 RSA 解密时出现 BadPaddingException
- sql-server - 将日期时间列值转换为 MonYY 格式