关于npm

什么是npm?

https://www.npmjs.com/   

 什么情况下会把模块安装在全局?

    可以使用命令对任何的项目进行操作(通过npm root -g 查看全局安装的目录)----->yinw因为在安装目录下生产了xxx.cmd的文件,所以我们能够使用xxx的命令进行操作

 安装在本地项目中的模块?-->可以在项目中导入来使用--->默认不能基于命令操作(因为没有.cmd文件) --->但是可以基于package.json中的scripts配置一些npm可执行的命令,配置后通过npm run xx就可以执行

npm install xxx  把模块安装到当前项目中(node_modules)

npm install xxx -g  把模块安装在全局环境中

npm install xxx@1.0.0 安装指定版本号的模块

npm view  xxx versions > xxx.version.json   查看某个模块的版本信息(输出到指定的JSON文件中)        查看xxx的版本信息输出到.josn文件

 

npm init -y    初始化当前项目的配置依赖清单(package.json)   (项目文件夹的名字不能出现中文大写字母特殊符号

dependencies : 生产依赖模块(开发和项目部署的时候都需要)

devDependencies:开发依赖模块(只有开发的时候需要)
scripts : 配置本地可执行命令的

npm install xxx --save  把模块保存在清单生产依赖中

npm install xxx --save-dev  把模块保存在清单开发依赖中

npm install    跑环境,按照清单安装所需的模块

npm install --production     只下载生产依赖项(不包含开发依赖项)

 

npm  root  -g  查看全局安装模块的目录

npm uninstall xxx  卸载xxx模块

npm uninstall xxx -g 卸载全局xxx模块

 

 

一个新项目的开始
01 创建项目文件夹
02 把它作为一个新的仓库进行代码管理(git clone / git init)
03 初始化模块配置清单package.json ( npm init -y )
04 安装所需的模块 npm i jquery bootstrap less
05 正常开发
06 开发中:可能需要在本地配置命令去完成一些功能(例如less文件编译,此时需要配置npm可执行命令) 
"scripts": {//x 代表压缩    
    "zzh": "lessc css/index.less css/index.min.css x"
  },
需要编译的时候,执行 npm run zxt
07 开发中我们需要基于git把文件进行管理:生产对应的历史版本
  提交到暂存区 本地仓库  远程仓库的时候,项目中很多文件是无需处理和提交的,例如:node_moudles   .idea 
  不需要提交的,生成一个.gitignore忽略文件,通过编辑器才可创建
08 由于每次提交的时候,我们都不去提交node_modules,所以团队写作开发中,我们每当拉下来程序后(git pull),都需要跑环境(npm install) 
    ,按照项目中的package.json中的依赖信息,把缺失的模块都安装一遍   
 
 
.gitignore文件常忽略项
# dependencies
node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

# webStorm
.idea



从公司账户拿项目
01 git clone  克隆公司的项目
02 npm install 跑环境(安装package.json中的依赖)

提高npm下载速度的方法

方法一 使用yarn

npm install yarn -g   安装yarn
yarn install    跑环境
yarn install -y 初始化清单
yarn add xxx  安装xxx
yarn remove xxx  移除xxx

 

方法二 使用nrm切源

npm install nrm -g  基于nrm切源提高npm的速度
nrm ls  显示源
nrm use xxx(taobao) 切换到淘宝镜像
接下来使用npm命令即可

 

 

  

原文地址:https://www.cnblogs.com/javascript9527/p/11722380.html