我有一个非常特别的问题,因为我想创建一个没有服务器的网页,我正试图使用vite,我的整个项目都使用vue + vite。
如果我尝试使用"vite build"命令,页面部署为空白,我可以看到页面的唯一方法是如果我使用"vite preview"
是否有可能使用vite加载HTML页面的内容,而不需要"vite预览"?双击index。html
使用vue-cli,可以通过将vue.config.js文件中的publicPath设置为空字符串来实现,参见:https://cli.vuejs.org/config/#publicpath我个人只在Vue 2中使用过它,但从我在网上看到的东西来看,如果你愿意切换到Vue -cli,它也应该可以在Vue 3中使用。
使用Vite,我发现了这个问题和答案,它显示了一种将所有脚本,css和图像捆绑到一个文件中的方法:如何打开一个静态网站在本地主机,但与Vite生成,而不运行服务器?
我确实尝试过,它大多工作,但不是目前的svg文件,我在我的应用程序中使用了很多。它可能适合您的用例。
我还需要在我的包中添加"type": "module",
。Json来消除错误说
"Error [ERR_REQUIRE_ESM]: require() of ES Module/path/to/vite.config.内联。ts不支持!">
如果您只是作为index.html
打开您的页面,您将受到一些API调用等方面的限制。如今,您将需要一个轻型服务器通过一个简单的vite preview
来托管它,如您所见。这主要是因为这些文件是与Webpack和Vite等捆绑器一起工作的。
我不确定是否有一种方法可以用index.html
加载整个东西,因为像.vue
这样的文件不受本机支持,您需要一个特定的加载器。
一个简单的解决方案是使用Vue作为CDN,但它将限制您对SFC文件的DX体验,但您将能够将Vue用于常规index.html
文件。
PS:整体性能也会变差(因为需要网络请求)。
如果你想要一些真正轻量级的东西,你当然也可以使用petite-vue,也许更适合于超级简单的项目,对反应性的需求很小。
我仍然建议使用像netflix或Vercel这样的东西来免费托管您的静态站点,并拥有完整的Vue体验,这要归功于运行vite preview
的服务器。