Vant-cli package.json开发环境依赖解析 | 青训营笔记

151 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

vant-cli开发环境依赖

"devDependencies": {
    "@jest/types": "^29.1.2",
    "@types/fs-extra": "^9.0.13",
    "@types/less": "^3.0.3",
    "@types/lodash": "^4.14.191",
    "@types/markdown-it": "^12.2.3",
    "rimraf": "^4.0.4",
    "vue": "^3.2.45"
  },

What is @types/node package in NodeJs?

"@types/node":该包用于在节点中使用 typescript 时加载所有类型定义。添加其他包时,如果默认情况下不包含它们,则还必须添加它们的类型。

例如,假设您想[lodash](https://www.npmjs.com/package/lodash)在typescript中使用,您还需要安装类型定义 ( [@types/lodash](https://www.npmjs.com/package/@types/lodash))。

jest测试环境

fs-extra

@types/fs-extra 是一个第三方 TypeScript 定义文件,它定义了 fs-extra 库的类型。

fs-extra是一个npm包,它扩展了Node.js的fs模块,提供了更多的文件操作方法。 但是它本身并没有提供类型定义,所以需要使用@types/fs-extra来定义类型,这样在编写代码时就能获得更好的提示和类型检查。

所以 "@types/fs-extra": "^9.0.13" 表示项目在开发过程中依赖于 "@types/fs-extra" 包,版本号为 9.0.13,"^"符号表示兼容与9.0.13的所有主版本号。

Less 是样式规范

Lodash Documentation

Lodash 通过消除处理数组、数字、对象、字符串等的麻烦,使 JavaScript 变得更容易。Lodash 的模块化方法非常适合:

  • 迭代数组、对象和字符串

  • 操纵和测试值

  • 创建复合函数

Token | markdown-it 中文文档

markdown-it是一个npm包,它是一个用于解析和渲染markdown文本的javascript库

rimraf

下列代码亦出自vant-cli package.json

  "scripts": {
    "dev": "tsc --watch",
    "build": "rimraf ./lib && tsc", 
    "release": "pnpm build & release-it",
    "prepare": "pnpm build"
  },

rimraf ./libtsc 是命令行指令。rimraf ./lib 是一个 shell 命令,它会删除当前目录下的 lib 目录。tsc 是 TypeScript 的编译器,它会将 TypeScript 代码编译为 JavaScript 代码。


Pnpm vs npm


The UNIX command rm -rf for node.

rm -rf 是 Unix/Linux 系统中的命令,它用于删除文件和目录。-r 选项表示递归删除目录中的文件和子目录,-f 选项表示强制删除,不询问确认。

使用 rimraf 来实现删除比使用 rm -rf 可能更加可靠的原因是:

  • rimraf 是一个 npm 包,它在删除文件和目录时会使用其算法和错误处理机制,这些都是可靠的。

  • rimraf 支持在 Windows 和 Unix/Linux 系统上运行,因此可以确保在不同平台上的可靠性。

  • rimraf 在删除文件和目录时会尝试几次,在失败时会等待一段时间再重试,这样可以避免因文件被占用而导致的删除失败。

  • 使用 rimraf 删除文件和目录更简单易用。

Vue