腾讯云的 nodejs sdk 安装后 85M

216 天前
 scienhub

最近发现项目的node_modules打包越打越大,不看不知道,一看吓一跳。 腾讯云的 sdk 85M ,为了对比,还特地看了下@aws-sdk

cd node_modules && du -sh * | sort -h

13M	    @aws-sdk
.
.
.
12M     prisma
13M     @types
17M     @sentry
23M     typescript
29M     @opentelemetry
38M     @prisma
85M     tencentcloud-sdk-nodejs

进一步去里面看了下cd node_modules/tencentcloud-sdk-nodejs && du -sh * | sort -h

537K	examples
3.9M	test
4.9M	SERVICE_CHANGELOG.md
5.1M	CHANGELOG.md
28M	src
34M	tencentcloud

srctencentcloud 是不是重复了? 还有一个 CHANGELOG 和 SERVICE_CHANGELOG 都快 10M 了。

9715 次点击
所在节点    程序员
67 条回复
hefish
216 天前
大了说明高级啊。 反正是 sdk 嘛。问题不大。
cj323
216 天前
估计是机器生成的代码。不过 disk 反正不贵问题不大,主要关注 build 后多大就行了。
scienhub
216 天前
@cj323 build 后是啥意思哦? 我这个 node_modules 就直接是生产环境的依赖, 生产环境里就是这么大哇?
wunonglin
216 天前
见怪不怪。在服务器跑的无所谓。
crackidz
216 天前
都用 node 了还在乎这个...
renmu
216 天前
跑在服务端其实无所谓,在意的话自己 fork 改一下
darkengine
216 天前
@scienhub 生产服务器上是直接 npm run dev 运行的?
default996
216 天前
@scienhub build 后才是发布用的(通常是 npm run build ),一般打包发布后都不依赖 node_modules 了;你现在项目应该是开发阶段(通常是 npm run dev ),所以才需要 node_modules ,你说的“生产环境” 是指你现在开发的机器是线上的吧? 跟项目的生产发布不是一回事
liaozzzzzz
216 天前
大概率只是 tx 这边发布到 npm 的时候没过滤掉多余的文件而已,实际你代码使用到的只是构建产物
dingdangnao
216 天前
我咋记得腾讯云的包都是按业务分的?可能这个是总包?
scienhub
216 天前
@darkengine 我这是后端项目,生产环境是 npx tsc && node src/index.js 的。
npx tsc 过程并不会删除不需要的文件吧?
scienhub
216 天前
@default996 我这是后端项目,生产环境是 npx tsc && node src/index.js 运行的。
cj323
216 天前
@scienhub 在 Node 项目里 build 主要就是 transpile/minify/treeshake 代码,你用 typescript 的话就是 tsc 那步,之后 build 出来的 index.js 体积就小了。不过后端项目没下载那一步应该没啥影响,除非你是上 serverless ,那不同的 runtime 可能会有体积限制。
scienhub
216 天前
@cj323 影响倒是没有大影响,只不过进去一看 dependencies 的大小,吓一跳,tencentcloud 居然接近 100m 。
eryajf
216 天前
对比 go 包更吓人,aws 的 go 语言 sdk ,来到了 2G 多
subframe75361
216 天前
只有 tencentcloud 这个文件夹是实际在跑的代码。。。
subframe75361
216 天前
虽然喷人不对,但是支持正义薄纱
https://github.com/TencentCloud/tencentcloud-sdk-nodejs/issues/160
JensenQian
216 天前
下次给你安排虚幻引擎
shuimugan
216 天前
已经不用 Node 了,现在小项目在选 Deno 和 Bun 。Bun 在 1.2 内置了 S3 和 Postgres 客户端,可以给项目做不少减法 https://bun.sh/blog/bun-v1.2
FightPig
216 天前
腾讯的 tencentcloud-sdk-ruby 也很搞,全是 java 的写法,看 21 年就有人给他们提过,结果到现在还是一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1108471

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX