Closed Jv-Juven closed 1 year ago
提问前请确认以下几点信息,否则你的问题将不会被解答
本人基于windows系统开发,打包出现一些问题,请指教 npm run prod的问题 简单来说,是本地开发正常,本地跑npm run prod命令控制台会不断弹出且关闭cmd窗口 使用官方的安装命令安装了midwayjs + react18的模板,在开发环境启动时能够监听6002端口,配置文件/config.ts如下: import type { UserConfig } from 'ssr-types'
本人基于windows系统开发,打包出现一些问题,请指教
简单来说,是本地开发正常,本地跑npm run prod命令控制台会不断弹出且关闭cmd窗口 使用官方的安装命令安装了midwayjs + react18的模板,在开发环境启动时能够监听6002端口,配置文件/config.ts如下:
npm run prod
/config.ts
import type { UserConfig } from 'ssr-types'
const userConfig: UserConfig = { serverPort: 6002, mode: 'csr', }
export { userConfig }
依赖的包,有一个是自己开发的npm包(可能的原因),并发布在公司的私有仓库,本地启动运行时正常。 运行`npm run build`命令后会不断弹出且关闭cmd窗口。 pm2.config.js文件内容如下: ```ts module.exports = { apps: [ { name: 'ssr-prod', script: 'bootstrap.js', exec_mode: 'cluster', max_memory_restart: '500M', env: { NODE_ENV: 'production', SERVER_PORT: 6002, }, }, ], }
当跑这个脚本,没有显示错误 自己增加一个脚本,用于集成测试环境打包,"sit": "ssr build && pm2 start pm2.config.sit.js", pm2.config.sit.js内容如下:
"sit": "ssr build && pm2 start pm2.config.sit.js"
module.exports = { apps: [ { name: 'ssr-sit', script: 'bootstrap.js', exec_mode: 'cluster', max_memory_restart: '500M', env: { NODE_ENV: 'production', MIDWAY_SERVER_ENV: 'sit', SERVER_PORT: 6002, }, }, ], }
运行npm run sit时一切正常,cmd窗口只会闪两次,能打包成功,且启动没有错误提示(pm2 log查看),bootstrap.ts文件内容如下:
npm run sit
bootstrap.ts
const { Bootstrap } = require('@midwayjs/bootstrap') const { loadConfig } = require('ssr-common-utils') const { serverPort } = loadConfig() console.log('启动端口serverPort', serverPort) Bootstrap.configure({ globalConfig: { koa: { port: serverPort, }, }, }) .run() .then((res) => { console.log('启动成功~', res) }) .catch((err) => { console.log(err.toString()) })
then能执行,但无法打开http://127.0.0.1:6002,查看6002端口,没有被监听到。
http://127.0.0.1:6002
本地运行以上两个命令,能通过 http://127.0.0.1:6002 打开页面,且运行正常。
"@midwayjs/core": "^3.0.0", "@midwayjs/decorator": "^3.0.0", "@midwayjs/koa": "^3.0.0", "ssr-common-utils": "^6.0.0", "ssr-core": "^6.0.0", "ssr": "^6.0.0", "ssr-plugin-midway": "^6.0.0", "ssr-plugin-react18": "^6.0.0", "ssr-types": "^6.0.0", 不要贴 package.json 用 yarn list "ssr*" 来查看版本。同时建议熟读semver 规则并且知道怎么安装最新依赖!
不要贴 package.json 用 yarn list "ssr*"
用于公司内部开发的项目,暂时不便提供复现代码。 超过一行代码能描述的问题必须提供复现地址, 用默认的 example 给最简单的复现代码不要给包含着一堆业务代码的仓库
example
猜测是运行启动脚本时有异常,但没抛出来事,导致实质启动失败。也可能是自己的npm包出现问题,曾经试过删除相关引用也无济于。
提供可复现最简仓库 and这里不需要设置env.server_port
提问前请确认以下几点信息,否则你的问题将不会被解答
详细描述你的问题
const userConfig: UserConfig = { serverPort: 6002, mode: 'csr', }
export { userConfig }
npm run sit的问题
当跑这个脚本,没有显示错误 自己增加一个脚本,用于集成测试环境打包,
"sit": "ssr build && pm2 start pm2.config.sit.js"
, pm2.config.sit.js内容如下:运行
npm run sit
时一切正常,cmd窗口只会闪两次,能打包成功,且启动没有错误提示(pm2 log查看),bootstrap.ts
文件内容如下:then能执行,但无法打开
http://127.0.0.1:6002
,查看6002端口,没有被监听到。期望的结果
本地运行以上两个命令,能通过
http://127.0.0.1:6002
打开页面,且运行正常。当前使用的版本
"@midwayjs/core": "^3.0.0", "@midwayjs/decorator": "^3.0.0", "@midwayjs/koa": "^3.0.0", "ssr-common-utils": "^6.0.0", "ssr-core": "^6.0.0", "ssr": "^6.0.0", "ssr-plugin-midway": "^6.0.0", "ssr-plugin-react18": "^6.0.0", "ssr-types": "^6.0.0",
不要贴 package.json 用 yarn list "ssr*"
来查看版本。同时建议熟读semver 规则并且知道怎么安装最新依赖!复现仓库地址
用于公司内部开发的项目,暂时不便提供复现代码。 超过一行代码能描述的问题必须提供复现地址, 用默认的
example
给最简单的复现代码不要给包含着一堆业务代码的仓库你本人对问题可能的原因判断(如果你能大概判断的话)
猜测是运行启动脚本时有异常,但没抛出来事,导致实质启动失败。也可能是自己的npm包出现问题,曾经试过删除相关引用也无济于。