npm 构建一个 vue 应用程序并 运行 它在 raspberry Pi

npm build a vue app and run it on a raspberry Pi

我正在和我的室友一起创建一个 Vue 应用程序,我们想将它部署在我们的 raspberry Pi 上。 是否有可能在我们的 PC 上 npm 构建我们的最终应用程序,并在 Pi 上启动服务器而不必在 Raspberry 上构建应用程序?如果是这样,我们如何在 Raspberry 上启动应用程序?

提前致谢!

完全有可能。在您的 PC 上构建您的 vue 应用程序(称为开发环境)并将其托管在您 raspberry pi(生产环境)上。有多种方法可以做到这一点,但从高层次的角度来看,您只需要:

  1. 通过安装首选 OS
  2. 像平常一样设置你的 pi
  3. 从您的 PC 通过 SSH 连接到 pi
  4. 安装网络服务器。对于 Vue,快速修复可以是 Nginx 或 Apache
  5. 您可以通过 SSH 在网络服务器上安装 Node 和 Git。然后,您可以 git clone 将应用直接放入正确的文件夹中。然后在服务器上安装 Node 后,您可以像往常一样 运行 您的 npm 命令,并使用 npm run build 在服务器上构建 Vue 站点。否则你可以将你的 build/dist 文件夹复制到服务器,但你可能需要做一些额外的配置。
  6. 获取域名并将其指向您raspberry pi的IP(我认为https://www.noip.com/是一个不错的自由选择)

一个很好的教程列表是:

  1. 如何在树莓派上设置 SSH
  2. 如何在树莓派上设置 Nginx 或 Apache
  3. 如何将 Vue 应用程序部署到网络服务器(检查 Nginx 和 Apache)。 youtube 上有一些不错的视频可以查看
  4. 将域名指向我的 raspberry pi 网站

注意: 最后要记住的一件非常重要的事情是,如果您要通过家庭网络(在家中使用自己的互联网)将网络服务器暴露给互联网,您可能会将您的路由器暴露给全世界,这可能使恶意行为者能够进入您的 PC 和连接到您网络的任何其他设备。您可能需要考虑安装防火墙以防止这种情况发生。所以也许也可以查看一些相关研究。

这里有一些有用的链接:
https://www.instructables.com/Host-your-website-on-Raspberry-pi/
https://medium.com/@thesabareesh/host-your-own-website-on-a-raspberry-pi-3-e3c8fdb90f90

普通 Vue 构建的结果是 dist 包含静态文件的目录。

您可以使用静态文件服务器通过网络为它们提供服务:例如 Nginx 或 Apache。我相信后者预装在 Raspberry Pi OS 和许多其他发行版中。

您也可以按照 this guide 作为 Apache 的起点。
Vue 文档也有一个 page dedicated to deployment.