使用 Vue 插件的 Vite MPA 是如何工作的?
How do Vite MPAs using the Vue plugin work?
我创建了一个 Vite 应用程序,我需要它有多个页面。我阅读了文档并找到了如何执行此操作 (can be found here),但是当我 运行 服务器时,我得到一个空白页面。
我的 vite.config.js
文件:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const { resolve } = require('path')
module.exports = {
build: {
rollupOptions: {
input: {
home: resolve(__dirname, 'src/Home/index.html')
}
}
}
}
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()]
})
这是我的文件结构:
编辑: 我已将配置更改为下面发布的 tony,但它仍然显示空白页。
编辑 2: 我发现您不需要使用 vite.config.js 路由,有更简单的方法
创建 main.js、App.vue 和 index.html 文件的副本,并将它们重命名为不同的名称。重命名它们后,将 <script type="module" src="index.js"></script>
更改为新的 JS 文件,并将新 main.js 中的 .vue
文件导入更改为新的 .vue
文件。这是我的新结构:
我所做的只是复制文件并更改名称和导入,而且成功了!
您在 vite.config.js
中有两个默认导出,但应该只有一个:
module.exports = { 1️⃣
//...
}
export default defineConfig({ 2️⃣
//...
})
配置应该是:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig({
plugins: [vue()],
build: {
rollupOptions: {
input: {
home: resolve(__dirname, 'src/Home/index.html')
}
}
}
})
我创建了一个 Vite 应用程序,我需要它有多个页面。我阅读了文档并找到了如何执行此操作 (can be found here),但是当我 运行 服务器时,我得到一个空白页面。
我的 vite.config.js
文件:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const { resolve } = require('path')
module.exports = {
build: {
rollupOptions: {
input: {
home: resolve(__dirname, 'src/Home/index.html')
}
}
}
}
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()]
})
这是我的文件结构:
编辑: 我已将配置更改为下面发布的 tony,但它仍然显示空白页。
编辑 2: 我发现您不需要使用 vite.config.js 路由,有更简单的方法
创建 main.js、App.vue 和 index.html 文件的副本,并将它们重命名为不同的名称。重命名它们后,将 <script type="module" src="index.js"></script>
更改为新的 JS 文件,并将新 main.js 中的 .vue
文件导入更改为新的 .vue
文件。这是我的新结构:
我所做的只是复制文件并更改名称和导入,而且成功了!
您在 vite.config.js
中有两个默认导出,但应该只有一个:
module.exports = { 1️⃣
//...
}
export default defineConfig({ 2️⃣
//...
})
配置应该是:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig({
plugins: [vue()],
build: {
rollupOptions: {
input: {
home: resolve(__dirname, 'src/Home/index.html')
}
}
}
})