Dockers 部署Nodejs环境的ts 项目遇到的问题
Dockers 部署Nodejs环境的ts 项目遇到的问题
由于不熟悉TS和nodejs所以过程比较曲折。webpack.config\tsconfig.json\package.json\是几个比较关键的文件。细节可以去看详细文档,这里不展开讲;
主要是缺失了start.sh文件和执行npm run build 的时候报错问题;
遇到报错时,请用最新的AI,修复所有错误;
例如这个报错
node_modules/@types/socket.io/index.d.ts:458:44 - error TS2724: '"C:/Demo/datachannel/node_modules/engine.io/build/engine.io"' has no exported member named 'ServerAttachOptions'. Did you mean 'AttachOptions'?
458 interface ServerOptions extends engine.ServerAttachOptions {
~~~~~~~~~~~~~~~~~~~
Found 1 error in node_modules/@types/socket.io/index.d.ts:458
对照GPT的反馈执行(先不要执行,只是示例)
npm install @types/socket.io@latest engine.io@latest
从新开始一步步修复
npm install typescript@latest --save-dev
npm install @types/express-serve-static-core@latest --save-dev
npm update
npm install @types/socket.io@latest engine.io@latest
Package.json 文件比较重要
"scripts": {
"start": "ts-node server.ts",
"build": "tsc",
"pack": "webpack"
},
我移除了build相关的内容。仅编译在当前目录执行npm run build
在当前目录添加start.sh文件,内容如下:
rm -f nodejs1.tar
tar -cf nodejs1.tar --recursion --exclude package.sh --exclude node_modules --exclude .git *
然后进入wsl系统进入start.sh所在目录
sh start.sh 执行后去就可以把nodejs 上传到docker里面。然后docker 在执行对应的脚本。