首页 >web前端 >js教程 >npm 以及您需要了解的有关 package.json 的所有信息

npm 以及您需要了解的有关 package.json 的所有信息

Linda Hamilton
Linda Hamilton原创
2024-11-28 00:57:12286浏览

npm and everything you need to know about the package.json

什么是 npm?

npm 是 NodeJS 的包管理器。它也是地球上最大的单一语言代码存储库,也是用于在命令行上从存储库安装和管理包的工具。

什么是包裹?

npm 注册表由许多包或库组成,可以下载、安装这些包或库并将其用作 NodeJS 项目中的依赖项。 npm 包是发布到 npm 注册表的可重用代码段。它可以帮助开发人员通过合并功能来改进他们的工作流程,从而减少编写冗余或重复代码的需要。

如何在 NodeJS 项目中安装包?

通过使用 CLI 命令 npm install

  • npm install:此命令将安装node_modules文件夹中package.json中提到的所有依赖项。
  • npm install :将包安装在当前项目目录中(在 node_modules 文件夹内)。该包只能在该项目内访问。
  • npm install -g :在系统范围内安装软件包,使其可以从计算机上的任何位置使用。
  • npm install @:安装该包的特定版本。
  • npm install ; --save-dev:安装包并将其放入 package.json 的 devDependencies 块中
  • npm install ; --no-save:安装软件包,但不将条目添加到 package.json 文件依赖项中。
  • npm install ; --save-可选:安装包并将条目添加到 package.json 文件的可选依赖项中
  • npm install ; --no-可选:这将阻止安装可选依赖项。

什么是package.json?

package.json 是 Node.js 项目中用于管理项目元数据、依赖项和脚本的配置文件。它充当 NodeJS 项目的核心。

devDependency 和 peerDependency 之间有什么区别?

devDependency:这些是仅在开发或测试期间需要的包和库。它们不包含在生产代码中。

安装:

npm install tslint --save-dev

peerDependency:这些是项目需要处理的依赖项,但它期望安装包的用户提供依赖项。

"peerDependencies": {
  "graphql": ">=10.0.0"
}

上面的块意味着:

  • 该项目需要 graphql 包才能工作。
  • 需要graphql包的版本为10.0.0或更高。
  • 软件包用户必须自行安装 GraphQL。

package.json 中的脚本

package.json中的scripts字段定义了可以使用npm run 运行的命令。一些值得一提的脚本:

start:启动应用程序的命令。

"peerDependencies": {
  "graphql": ">=10.0.0"
}

构建:用于生产构建。

"start": "node index.js"

测试:运行单元测试套件。

"build": "webpack --mode production"

dev:启动开发服务器。

"test": "nyc"

lint:运行 linter 以检查代码质量。

"dev": "nodemon index.js"

clean:清理构建工件。

"lint": "tslint ."

compile:用于将源代码转换为不同的格式(例如,TypeScript 到 JavaScript)

"clean": "rm -rf dist"

publish:用于将包发布到 npm 等注册表。

"compile": "tsc"
  • Pre/Post Hooks:还有用于 preinstall、postinstall、prebuild、precompile、postpublish 等脚本的 pre/post hooks。

  • 自定义脚本:自定义脚本也可以编写在 package.json 中,并且可以使用 npm run

  • 运行

以上是npm 以及您需要了解的有关 package.json 的所有信息的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn