npm的使用

文件模块的解析流程

  1. 不同的版本对文件模块的解析流程往往不一样
  2. 会先找同级别是否存在该文件,文件找不到,会找文件夹
  3. 如果文件夹下面存在package.json,查看package.json中的main字段对应的文件,会执行此文件
  4. 如果没有package.json文件,执行此文件夹下面的index.js文件,备注:对于有些版本,即使存在package.json中,即使存在main,也仍然会去执行index.js文件

模块分类

  1. 分为第三方模块、核心模块、自定义模块
  2. 核心模块不需要安装,第三个模块需要安装,自定义模块一般带./或者…/标识
  3. 第三方模块分为全局模块和项目模块,安装的时候指定参数-g的为全局模块,否则就是项目模块

node版本管理工具nvm

  1. 点击下载
  2. 参考文章

尝试写一个包

  1. 项目必须要存在一个bin目录,新建一个www文件
  2. www文件中需要写#! /use/bin/env node,意思是从本地的环境变量中使用node来作为执行环境
  3. package.json中新增bin字段,指定执行命令,如果不指定,默认就是package.json的name字段对应的value
  4. 测试,需要把自己的包链接到全局,使用npm linkl,会把包链接到全局的node_modules下面,这也就可以使用命令执行了
  5. 发布,执行npm addUser登录,执行npm publish发布
  6. 删除包,执行npm unpublish
  7. 升级包,需要更新包的版本号,再次发布

package.json与package-lock.json

  1. package.json,包的描述信息,里面记录了项目所需要的开发依赖、生产依赖、同版本依赖peerDependencies、捆绑依赖 bundleDependencies(打包依赖)
  2. package-lock.json,锁定依赖的安装版本,当项目发给别人的时候,保证别人执行install安装的版本和你的一样

依赖分类

  1. 开发依赖
  2. 生产依赖(项目依赖)
  3. 同版本依赖,比如vue2依赖的vue-template-compiler版本号为2,若想把vue2升级到了3,则也需要把模板编译器升级到版本3,再升级vue到3版本的时候,会给出警告提示。
  4. 捆绑依赖。默认执行npm pack的不会把node_modules打包进压缩包中,如果想把哪个依赖打包进去,需要把其放到bundleDependencies
  5. –save-dev,简写为-D,安装开发依赖,也就是只在开发时需要,上线之后不在使用的模块
  6. –save。简写为-S,安装生产依赖,生产需要的模块,默认为此。
  7. npm install production只安装生产依赖

npm run发生了什么

  1. 对于那些没有全局安装的模块,再命令行中无法使用,要想让其可以使用,需要放到全局的npm目录下面
  2. 执行npm run的时候,默认会把项目下面的node_modules目录下面的bin目录下面的目录放到全局path

为什么npm i -g之后,就可以在全局使用命令

  1. npm的安装目录再系统的环境变量中,也就说npm下面的命令是可以全局执行的
  2. npm i -g安装的包会直接安装到npm目录下面,这样就可以直接使用了

npm命令

  1. npm root -g 查看npm安装再系统的哪个路径
  2. path 查看系统的环境变量
  3. npm run dev

yarn和npm的关系

  1. yarn依赖npm
  2. 不要把yarn和npm混用,会造成丢包的风险

npx

  1. node5.2版本之后赠送的
  2. 比如执行npx mime xxx.js,会去执行项目的node_modules下面bin目录下面的命令,如果没有,会去先安装,和npm相比,多了一个下载的功能

你可能感兴趣的:(vue,node,js,npm)