当前位置: 首页 > 知识库问答 >
问题:

vue.js - 解决Vite, Vue, SSR项目在Docker中构建失败的问题?

郭麒
2024-04-23

关于Vite,Vue,SSR的项目,已经开发完成。准备在服务器上(使用了docker)构建,然后一直构建失败。

// 版本信息vue: "^3.4.21",vite: "^5.1.6",npm: ">=8.0.0",node: ">=18.0.0"
// 打包命令"build:test": "npm run build:client:test && npm run build:server:test","build:client:test": "vite build --ssrManifest --outDir dist/client --mode test","build:server:test": "vite build --ssr src/entry-server.js --outDir dist/server --mode test",
// dist目录结构dist -client // 客户端     -server // 服务端     -index.js // express server 启动入口文件     -package.json

第一次尝试

项目打包后生成dist文件,然后将生产环境的package.json扔到dist里,下载依赖,使用pm2运行,

// 执行命令>>cd dist>>npm install>>pm2 start index.js -i max

结果发现docker容器一直重新启动,经查看pm2官网文档,发现需要进行docker集成,后使用pm2-runtime

第二次尝试

全局安装pm2,如下仍然失败

// 执行命令>> cd dist>> npm install >> pm2-runtime index.js -i max

后发现,可能是docker配置文件的命令执行顺序问题,
执行npm install 之后,没有等依赖下载完成,立刻执行了pm2-runtime index.js。

各位前后端或运维大佬们后面该咋搞?
有没有可能打包生成dist后不需要下载依赖(尝试过,会提示import express from "express" express not found),或者docker流水线如何配置,或者其他的可能解决方法。
让我这前端小白处理属实为难了!

共有1个答案

常雪风
2024-04-23

1.不在dist里下载依赖
2.使用pm2配置文件ecosystem.config.cjs
3.docker CMD ["pm2-runtime", "ecosystem.config.cjs"]中pm2-runtime 改为pm2 安装地址

 类似资料:
  • 问题内容: 我试图构建新项目,但是当我单击构建时,构建每次都会失败。 我尝试删除我的项目并再次创建它,但是仍然没有帮助。 警告 错误 这些是Xcode向我显示的错误消息。项目名称为“ MyFirstApp”,我在该错误消息上剪切了一些文件路径。那么我如何建立这个项目呢? 问题答案: 在终端中尝试:

  • 本文向大家介绍如何构建 vue-ssr 项目的方法步骤,包括了如何构建 vue-ssr 项目的方法步骤的使用技巧和注意事项,需要的朋友参考一下 如何通过 web 服务器去渲染一个 vue 实例 构建一个极简的服务端渲染需要什么 web 服务器 vue-server-renderer vue 首先通过 koa、koa-router 快速起了一个 web 服务器,这个服务器接受任何路径 创建了一个re

  • 我将Android Studio升级到北极狐2020.3.1补丁3,但在我构建该项目时,Flitter项目失败了。它以前工作得很好。 以下是错误日志: 这是我的环境: 请告诉我如何解决这个问题?

  • node项目已经运行到了服务器上面了,且浏览器可以通过公网ip访问,但是在本地vue项目中通过接口不能实现联调, 本地vue项目使用的是代理的方式解决跨域问题的 本地运行的vue项目可以实现接口联调

  • 分级任务 null 在https://help.gradle.org获得更多帮助

  • 我有一个简单的gradle项目,我想建立在Docker容器内 我有一个多级码头建设。第一阶段只是从github克隆项目。第二阶段必须建立项目,所以我可以在最后阶段运行它。但是它失败了 命令<代码>。/gradlew build - stacktrace无法执行并失败,错误为: 和stacktraces: 为什么docker用户没有在工作目录下创建文件的权限,如何添加这些权限?简单的< code >