npm 是一个包管理器,它让 JavaScript 开发者分享、复用代码更方便(有点 maven 的感觉哈)。
在程序开发中我们常常需要依赖别人提供的框架,写 JS 也不例外。这些可以重复的框架代码被称作包(package)或者模块(module),一个包可以是一个文件夹里放着几个文件,同时有一个叫做 package.json 的文件。
一个网站里通常有几十甚至上百个 package,分散在各处,通常会将这些包按照各自的功能进行划分(类似我们安卓开发中的划分子模块),但是如果重复造一些轮子,不如上传到一个公共平台,让更多的人一起使用、参与这个特定功能的模块。
而 npm 的作用就是让我们发布、下载一些 JS 轮子更加方便。
我们可以去官方网站 https://www.npmjs.com/ 浏览、搜索想要的轮子,也可以直接在命令行中 search 一下意中轮。
一、初步
1. package.json文件可以手工编写,也可以使用npm init命令自动生成。
注意:npm init 时,用户需回答一些问题,然后在当前目录生成一个基本的package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。
二、进一步
字段参考网站:http://www.mujiang.info/translation/npmjs/files/package.json.html
下面是最简单的的一个package.json 文件(只有两个数据,项目名称和项目版本,他们都是必须的,如果没有就无法install)
指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
1.scripts
下面的设置指定了npm run dev、npm run bulid、npm run unit、npm run test、npm run lint时,所要执行的命令。
在npm run dev启动了webpack-dev-server后,编译后的文件并没有输出到webpack.config.js中配置的output输出目标文件夹中,而是将实时编译后的文件保存在内存中。
webpack-dev-server //启动webpack-dev-server
--progress --colors //打包进行显示颜色
--hot //开启模块热修复功能
--content-base ./dist //设置webpack-dev-server运行的根目录是 ./dist
--inline //使用inline的方式进行页面自动刷新
--quiet //控制台中不输出打包信息
--compress //开启gzip压缩
2.dependencies和devDependencies
两项,分别指定了项目运行所依赖的模块、项目开发所需要的模块。它们都指向一个对象,该对象的各个成员,分别由模块名和对应的版本要去组成,表示依赖的模块及其版本范围3 dependencies,devDependencies
--save参数表示将该模块写入dependencies属性,
--save-dev表示将该模块写入devDependencies属性。
3、config字段
config字段用于向环境变量输出值。
4.engines 字段
指明了该项目所需要的node.js版本
npm清除缓存和查看安装包版本网站:
清除缓存:https://blog.csdn.net/D_claus/article/details/84067222
查看安装包版本:https://blog.csdn.net/D_claus/article/details/84066231
本文参考网站:https://www.cnblogs.com/whkl-m/p/6617540.html
如有侵权,联系本人,删除。