Skip to content

Commit 7f6d457

Browse files
authored
fix(md-cli): proxy error ECONNRESET (#1074)
1 parent a59e6f7 commit 7f6d457

5 files changed

Lines changed: 132 additions & 71 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"start": "pnpm web dev",
2020
"web": "pnpm --filter @md/web",
2121
"vscode": "pnpm --prefix ./apps/vscode",
22+
"cli": "pnpm --filter @doocs/md-cli",
2223
"build:cli": "pnpm web build && npx shx rm -rf packages/md-cli/dist && npx shx rm -rf dist/**/*.map && npx shx cp -r apps/web/dist packages/md-cli/ && cd packages/md-cli && npm pack",
2324
"release:cli": "node ./scripts/release.js",
2425
"lint": "eslint . --fix",

packages/md-cli/package.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
22
"name": "@doocs/md-cli",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"type": "module",
55
"description": "WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、自定义主题样式、内容管理、多图床、AI 助手等特性",
66
"main": "index.js",
77
"scripts": {
8-
"test": "echo \"Error: no test specified\" && exit 1"
8+
"test": "echo \"Error: no test specified\" && exit 1",
9+
"dev": "nodemon index.js"
910
},
1011
"bin": {
1112
"md-cli": "index.js"
@@ -22,10 +23,13 @@
2223
"license": "ISC",
2324
"dependencies": {
2425
"express": "^5.1.0",
25-
"multer": "^2.0.2",
26-
"http-proxy-middleware": "^3.0.5",
2726
"form-data": "4.0.4",
2827
"get-port": "7.1.0",
28+
"http-proxy-middleware": "^3.0.5",
29+
"multer": "^2.0.2",
2930
"node-fetch": "^3.3.2"
31+
},
32+
"devDependencies": {
33+
"nodemon": "^3.1.10"
3034
}
3135
}

packages/md-cli/server.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import express from 'express'
22
import multer from 'multer'
3-
import path from 'path'
4-
import fs from 'fs'
5-
import { fileURLToPath } from 'url'
6-
import { dirname } from 'path'
3+
import path from 'node:path'
4+
import fs from 'node:fs'
5+
import { fileURLToPath } from 'node:url'
6+
import { dirname } from 'node:path'
77
import { createProxyMiddleware } from 'http-proxy-middleware'
88
import {
99
dcloud,
@@ -92,13 +92,18 @@ export function createServer(port = 8800) {
9292
res.redirect('/md/')
9393
})
9494

95-
console.log('代理到: https://md.doocs.workers.dev')
96-
app.use(createProxyMiddleware({
97-
target: 'https://md.doocs.workers.dev',
95+
console.log('代理到: https://md.doocs.org/')
96+
app.use('/md/', createProxyMiddleware({
97+
target: 'https://md.doocs.org/',
9898
changeOrigin: true,
99-
onError: (err, req, res) => {
100-
console.error(`代理错误 ${req.path}:`, err.message)
101-
res.status(502).send('代理服务暂不可用,请检查网络连接')
99+
pathRewrite: {
100+
'^/md/': '',
101+
},
102+
on: {
103+
error: (err, req, res) => {
104+
console.error(`代理错误 ${req.path}:`, err)
105+
res.status(502).send(`代理服务暂不可用,请检查网络连接 ${err.message}`)
106+
},
102107
},
103108
}))
104109

packages/md-cli/util.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import FormData from 'form-data'
2-
import process from 'process'
3-
import os from 'os'
4-
import net from 'net'
5-
import util from 'util'
6-
import crypto from 'crypto'
2+
import process from 'node:process'
3+
import util from 'node:util'
4+
import crypto from 'node:crypto'
75

86
const fetch = (...args) => import(`node-fetch`).then(({ default: fetch }) => fetch(...args))
97

0 commit comments

Comments
 (0)