npm、package.json的理解和学习

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

如有侵权,联系本人,删除。

猜你喜欢

转载自blog.csdn.net/D_claus/article/details/84099192