You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境node_modules冗余问题:Photoshop插件打包体积过大如何优化?

解决方案

1. 优先优化Firebase SDK引入(核心优化项)

你安装的完整firebase包默认包含了所有Firebase服务(Auth、Storage、Functions、Firestore等),仅用到Firestore的话完全可以按需引入,大幅削减依赖体积:

  • 把原有全量引入写法替换为v9版本支持树形摇的模块化导入写法,仅引入实际用到的接口:
// 弃用全量引入写法
import firebase from 'firebase/app'
import 'firebase/firestore'

// 改用按需引入写法,打包时只会保留你用到的代码
import { initializeApp } from 'firebase/app'
import { getFirestore, collection, addDoc } from 'firebase/firestore' // 只导入实际用到的Firestore方法
  • 如果不需要实时监听、离线持久化这类功能,可以直接使用Firestore轻量SDK,把导入路径换成firebase/firestore/lite,体积还能再减70%左右。

2. 清理node_modules冗余依赖

  • 先运行npx depcheck命令扫描项目,工具会自动列出package.json中声明但代码完全未引用的冗余依赖,直接执行npm uninstall <包名>卸载对应包即可。
  • 卸载完成后运行npm prune --production,命令会自动删除node_modules中所有归类为devDependencies的开发依赖(比如eslint、测试工具这类生产环境用不上的包)。
  • 不要手动删除node_modules内的文件,容易触发运行时异常。

3. 打包环节优化

  • 如果你用webpack/vite这类打包器,确保打包时mode设置为production,默认会自动开启树形摇、代码压缩,不会把node_modules中未引用的代码打进最终产物。
  • 不要把整个node_modules文件夹都打进最终包,PS扩展仅需要打包编译后输出的js、资源文件即可,完全不需要携带node_modules目录,这是新手打包时最容易犯的错误。

内容的提问来源于stack exchange,提问作者Ian Barber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:48:01