解决Vite, Vue, SSR项目在Docker中构建失败的问题?-灵析社区

biubiuuuuu

关于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流水线如何配置,或者其他的可能解决方法。 让我这前端小白处理属实为难了!

阅读量:118

点赞量:0

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