重学前端
程劭非(winter)
前手机淘宝前端负责人
107328 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 61 讲
开篇词+学习路线+架构图 (3讲)
重学前端
15
15
1.0x
00:00/00:00
登录|注册

npm:不只是包管理

你好,我是 winter。
npm 是 Node.js 自带的包管理工具,多数前端同学对它并不陌生,但是它的功能十分丰富,要想用好 npm,需要从中找到一条线索。
在本节课中,我们以时间为线索,从创建、安装依赖、运行脚本到最终发布,来讲解 npm 关键的指令用法。

创建项目

我们可以使用 npm init 来创建新的 Node.js 包。运行后,会引导你填写包的基本信息,创建一个新的 package.json 文件。
现在还可以使用第三方的初始化程序来初始化新的包,使用时加上名称即可 npm init <name> 。npm 会自动下载和安装名为 create-<name> 的包,并执行。
一些比较重要的初始化程序可以参考下表:

安装和管理依赖

区分依赖和开发依赖

如今的 Node.js 生态中,用到三方模块几乎是不可避免的。新人最常犯的错误就是不区分依赖和开发依赖,把所有依赖包都存储到依赖中。这里我们就来讲讲如何判断一个包应当属于依赖项,还是开发依赖项。
区分的基本原则是用户在不需要修改本包代码的情况下,是否仍然要用到所依赖的包。
通常 dependencies 的特点是源代码中有直接引用,而 dependencies 则多是开发时用到的开发、测试或构建工具。以下是一些例子:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. 使用 `npm init` 可以创建新的 Node.js 包,并生成一个新的 `package.json` 文件。 2. 区分依赖和开发依赖的基本原则是用户在不需要修改本包代码的情况下,是否仍然要用到所依赖的包。 3. 使用 `-D` 或者 `--save-dev` 参数可以将包添加为开发依赖。 4. 推荐优先使用 `npx` 来使用开发工具,以避免全局安装时的权限问题。 5. 使用 `npm link` 可以在本地开发包和其他本地项目之间创建一种“链接”关系,使得你能够像使用正式发布的包一样使用本地开发包。 6. 在 package.json 的依赖管理中,经常会使用 ^、~、>、< 等符号来管理版本范围。 7. 建议在 `package.json` 中总是使用 `^`(Caret 运算符)来管理版本范围。 8. `npm install` 会创建或更新 `package-lock.json` 文件,记录了安装的所有依赖包的精确版本号。 9. `package-lock.json` 应该被加入源代码中,并提交到源代码仓库,有利于修复和追踪因为第三方包根据语义化版本自动更新而导致的 Bug。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《重学前端》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)