腾讯云的 nodejs sdk 安装后 85M

34 天前
scienhub  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 了。

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