npm包管理工具

NPM使用

1. npm起步

1-1 npm简介

npm 的全称是 Node Package Manager,是 NodeJS 标准的包管理和分发工具

新版的 Nodejs 已经集成了 npm ,在安装 Node.jsnpm 会连带被安装,它很方便让 JavaScript 开发者下载、安装、上传以及管理已经安装的包

# 查看 npm 的版本 
npm -v 

# 查看各个命令的简单用法
npm -l 
 
# 查看 npm 命令列表
npm help

# 查看 npm 的配置
npm config list -l

如果安装的是旧版本的 npm,可以通过 npm 命令来升级

# 安装最新版本的 npm
npm install npm@latest -g

# 安装最新的官方测试版 npm
npm install npm@next -g

1-2 npm初始化

npm init 用来初始化生成一个新的 package.json 文件,它会向用户提问一系列问题,如果觉得不用修改默认配置可以直接回车默认跳过

  • 尾缀带-f(代表 force)、-y(代表 yes),则跳过提问阶段直接生成一个新的 package.json 文件
  • 不带尾缀的话,默认有提问阶段
# 初始化package.json文件
D:\My Study\08-Node.js\01-npm使用\01-npm初始化>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.

# 模块名称(必须是英文)
package name: (01-npm初始化) npm-init

# 模块版本
version: (1.0.0)

# 模块描述
description: npm初始化

# 模块的入口文件 默认index.js
entry point: (index.js)

# 项目启动时执行的命令
test command:

# 将该模块放入github仓库中
git repository:

# 模块关键字
keywords:

# 模块作者
author: jsx

# 模块发布时需要的证书
license: (ISC)

# package.json 内容
About to write to D:\My Study\08-Node.js\01-npm使用\01-npm初始化\package.json:

{
   
  "name": "npm-init",
  "version": "1.0.0",
  "description": "npm初始化",
  "main": "index.js",
  "scripts": {
   
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "jsx",
  "license": "ISC"
}

# 确定配置是否创建
Is this OK? (yes) yes
// package.json
{
   
  "name": "npm-init",
  "version": "1.0.0",
  "description": "npm初始化",
  "main": "index.js",
  "scripts": {
   
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "jsx",
  "license": "ISC"
}

1-3 默认配置

在初始化 npm init 时,每次都都会默认询问需要配置的值,可以通过 npm set 对需要配置项的值进行预设

npm set 用来设置环境变量,等于为 npm init 设置了默认值

npm set key=value [key=value...]
npm set key value [key=val...]

# 预设作者姓名
npm set init-author-name <Your name>
# 预设作者邮箱
npm set init-author-email <Your email>
# 预设作者网站主页url
npm set init-author-url <Your url>
# 预设作者项目许可证
npm set init-license <Your license>
# 预设项目版本号
npm set init-version <Your version>

上面的指令等于为 npm init 设置了默认值,以后执行 npm init 的时候,package.json 的作者姓名、邮件、主页、许可证就会自动写入预设的值。这些信息会存放在用户主目录的 ~/.npmrc 文件,使得用户不用每个项目都输入

1-4 修改配置

如果某个项目有不同的设置,可以针对该项目运行 npm config 修改默认配置

根据 npm set 设置的属性进行修改,如果以 - 连接属性名则需要保持一致性以免造成预设混乱

npm config set key=value [key=value...]
npm config set key value [key=val...]

npm config set init-author-email <Your email>
npm config set init-author-name  <Your name>
npm config set init-author-url  <Your url>
npm config set init-license <Your license>
npm config set init-version <Your version>

1-5 查看配置

当需要查看自己预设的值时可以通过 npm config list 查看当前配置

  • -l 则显示所有默认值配置
  • --jsonjson 格式显示设置
npm config list
npm config list -l

2. package.json指南

2-1 文件解构

package.json 文件是项目的清单,它是用于工具的配置中心,也是 npmyarn 存储所有已安装软件包的名称和版本的地方

package.json 必须遵守 JSON 格式,否则,尝试以编程的方式访问其属性的程序则无法读取它

{
   
  "name": "test-project",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "main": "src/main.js",
  "private": true,
  "scripts": {
   
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "unit": "jest --config test/unit/jest.conf.js --coverage",
    "test": "npm run unit",
    "lint": "eslint --ext .js,.vue src test/unit",
    "build": "node build/build.js"
  },
  "dependencies": {
   
    "vue": "^2.5.2"
  },
  "devDependencies": {
   
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
    "babel-eslint": "^8.2.1",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-jest": "^21.0.2",
    "babel-loader": "^7.1.1",
    "babel-plugin-dynamic-import-node": "^1.2.0",
    "url-loader": "^0.5.8",
    "vue-jest": "^1.0.2",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.1",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.6.0",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-server": "^2.9.1",
    <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值