npm install 是联动 package.json、node_modules 和 package-lock.json 的核心命令:安装单个包默认写入 dependencies(如 npm install axios),加 @ 可锁定精确版本;--save-dev 或 -D 写入 devDependencies;不带参数则按 lock 文件还原依赖树;-g 全局安装仅限 CLI 工具,不可在项目中 require。

在 JavaScript 项目中,npm install 不只是下载代码,而是把依赖包装进 node_modules,同时按需写入 package.json 的对应字段,确保项目可复现、协作可同步。
安装运行时依赖(写入 dependencies)
这类包是项目启动或运行时必需的,比如 axios、react、lodash。
- 直接运行
npm install axios—— npm v5+ 默认自动写入dependencies字段,生成类似"axios": "^1.6.0" - 想锁定精确版本(避免意外升级),加
@指定:npm install axios@1.6.0→ 写入"axios": "1.6.0" - 显式使用
--save或-S更清晰(尤其在脚本或文档中):npm install lodash -S
安装开发依赖(写入 devDependencies)
这类包只在开发、构建、测试阶段用,上线不加载,比如 vite、eslint、jest。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 用
--save-dev或简写-D:npm install eslint -D - 它会写入
devDependencies字段,不影响生产环境体积和启动逻辑 - 误写进
dependencies可能导致打包体积变大,甚至运行时报Cannot find module 'vite'
批量安装多个依赖并写入配置
一次命令装多个包,节省时间,也保证写入动作统一。
- 运行
npm install axios react-router-dom @types/react -D:前两个进dependencies,最后带-D的进devDependencies - 若全部是开发依赖,统一加
-D:npm install vite eslint prettier -D - 注意:不能混用
-D和-S在同一命令里,npm 会报错
不写入配置的临时安装
仅用于快速验证或本地调试,不修改 package.json。
- 加
--no-save参数:npm install moment --no-save - 包仍会出现在
node_modules中,但下次执行npm install(无参数)时不会保留 - 适合试用某个工具、排查兼容性,又不想污染项目依赖声明

















