包管理工具
npx工具
npx是什么捏?
npx是npm5.2之后自带的一个命令
npx的作用非常之多,但是比较常见的是它用来调用项目中的某个模块的指令
现在假设一个场景:
你在项目里安装了webpack,也在全局中安装了webpack,但是这俩版本不一样,那么问题来了,当你在项目目录下webpack --version的时候,显示的是全局安装的那个版本。
为什么捏?
因为它的查找 规则是从当前的目录开始查,找不到就去全局
而项目中安装的webpack是在node_modules中的,而不是直接在当前目录下
npx在安装npm的时候就已经顺路的安装好了
npx webpack --version
这个的作用就是先在当前目录下的node_modules中的bin目录下找webpack
npm发布自己的包
可以通过npm发布自己的包(工具、库、框架)
首先要先注册一个自己的npm账号:npm | Homehttps://www.npmjs.com/
sign up!
完成一个图灵测试就可以自己注册了
注册后可以通过终端敲npm login登录
先npm init -y生成一个必备的package.json 文件
进入到你要发布的东西的目录下面,然后npm publish之后就可以发布你自己的包了
打包可以用
npx webpack
如果你要更新仓库就修改版本号(最好符合semver规范),然后重新发布
还可以删除发布的包:
npm unpublish
让发布的包过期:
npm deprecate
pnpm
pnpm可以理解成是performant npm的缩写,意为速度快,节省磁盘空间的软件包管理器
pnpm比其他的包管理器快两倍,node_modules中的文件链自特定的内容寻址存储库(高效)
还支持monorepos(pnpm内置支持单仓多包),pnpm默认创建了一个非平铺的node_modules,因此代码无法访问任意包(严格)
很多公司也在用这个工具
硬链接和软链接
死去的Linux记忆还在攻击我
硬链接是电脑文件系统中的多个文件平等的共享同一个文件存储单元
删除一个文件名后还可以用其他的名字继续访问该文件
还有的就是软链接
软链接是一类特殊的文件,包含一条以绝对路径或者相对路径的形式指向其他文件或者目录的引用