🍧 bin
=> 简单理解:指定命令的名称及路径
🍉 相当于想path中添加路径,局部安装是在./node_modules/.bin/
,全局安装是在全局的bin
目录
🍉 bin指定的文件必须以#!/usr/bin/env node
开头,系统才会使用node去执行该指定文件
🍉 npm link对开发的npm包进行调试测试的时候也可以用到
// 情况1,bin字段是一个对象// 命令行运行 => show xxx参数"bin": {"show": "./lib/index.js"}// 情况2,bin字段是一个字符串// 命令行运行 => [npm包名] xxx参数"bin": "./lib/index.js"
🍧 files
=> 简单理解:发布到npm包时需要打包的文件
🍉 以下的配置在npm打包的过程中,无论设置怎样的配置文件都会被打包到npm包中
🍉 🍉 package.json
🍉 🍉 README
🍉 🍉 CHANGES
/ CHANGELOG
/ HISTORY
🍉 🍉 LICENSE
/ LICENCE
🍉 🍉 NOTICE
🍉 🍉 The file in the "main" field
🍉 以下的配置在npm打包的过程中,不会被打包到npm包中
🍉 🍉 .git
, CVS
, .svn
, .hg
, .lock-wscript
, .wafpickle-N
, .DS_Store
, npm-debug.log
, .npmrc
, node_modules
, config.gypi
, package-lock.json
,
🍧 types
=> 简单理解:发布到npm包时需要打包的ts类型文件
常见版本号修饰符 ^和~
无修饰符 => 0.1.2
匹配版本 0.1.2
~
修饰符 => ~0.1.2
匹配版本 0.1.*
^
修饰符 => ^0.1.2
匹配版本 0.*.*
版本号相关参考链接
🍉 版本号比较轮子 => compare-versions
🍉 package.json中版本号详解
🍉 npm依赖包指定git仓库
"lint-staged": { "**/*.{js,jsx,ts,tsx,vue}": "leolint exec eslint" }
"husky": { "hooks": { "commit-msg": "leolint commit-msg-scan ", "pre-commit": "leolint commit-file-scan" } }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } }
来源地址:https://blog.csdn.net/qq_44408319/article/details/132499777