开发npm包模板

终端创建

开发npm包模板_第1张图片

创建文件夹,打开文件夹,

npm init   //开始创建,或者是npm init -y 这是直接自动生成package.json文件,那个是手动。
name就是包的名字,自己去设计,最好是搜索很容易,最关键的是没占用,跟域名一个道理,占用了就报错了。
version 就是版本,每一次修改保存,版本号都要变的。
description对这个包的描述
entry point默认运行文件
剩下的可以不用管,后续直接修改package.json文件也可以的。

发布流程

开发npm包模板_第2张图片

刚刚填的信息都有的。后续可以补充的。可以再终端输入npm init命令:
开发npm包模板_第3张图片

再看看文件改了没
开发npm包模板_第4张图片

里面的main就是包作用的入口文件,默认的是index.js。所以我们需要有这样一个文件的。创建,,,
路径啊,文件内容啊,如图
开发npm包模板_第5张图片

这里只是简单地学着发布上线如何的。不深究的。
如何发布?
发布到npm,就要先登录自己的账号,然后再发布的。


开发npm包模板_第6张图片

我先转到国外的正规地址,免得报错了,如果有错,可能就是不是官网地址而是国内山寨的那个下载地址。
登录了,就发布吧,
npm publish
开发npm包模板_第7张图片

问题又有了,报错,,,提示说这个包的名字已经存在了,不行的,域名也一样。
所以我就回package.json文件把文件名改一下,最好是名字不错,容易被索引,而且没被占用。改成weather-do-cli,再发布试试。


成功了。

再去npm官网查查看,,,
开发npm包模板_第8张图片

开发npm包模板_第9张图片

但是没有使用说明啊,开始写使用说明,再回到文件目录下,新建文件README.md,如图,编辑:
开发npm包模板_第10张图片

改了,就要重新发布,发布的版本就要改一下了,1.0.1。
开发npm包模板_第11张图片

开发npm包模板_第12张图片

别人如何用呢??
演示一下。。。

细化如何使用

先创建一个作用对象的文件,命令操作如图:
开发npm包模板_第13张图片

打开这个index.js文件去调用这个包操作试试看,,,
开发npm包模板_第14张图片

这时候自己想想,在终端输入node index.js可以吗?
肯定不行啊,这个npm包你还没有安装到本地目录下,先去安装,教程都说了的,,,
开发npm包模板_第15张图片

开发npm包模板_第16张图片

test目录下加载了node_modules文件了。
这时候,才可以用这个包了。

node index.js
开发npm包模板_第17张图片

输出了这个包里的index.js的那个'haha',成了吧!
这个时候,这个包只能引入到目录文件用,我想像http-server一样当成命令去用,怎么办?

包如何变成命令,再在终端全局调用

步骤很简单,正好对应了它的原理。
在包的package.json文件里加入

"bin":{
"my-weather":"./index.js"
}
开发npm包模板_第18张图片

有什么阴谋?这句话的意思是,一旦全局安装,-g 形式安装,系统看到这句话,就会把下载模块放到(mac的)usr/local/lib/node_module/下,这里是包的储存地址,调用包的时候,输入一个命令,这个命令就去usr/local/bin/里找对应的标签名,这个标签是个指针指向包文件,所以,除了下载了包,必须还在bin里生成了一个指针指向这个包,这个指针在这里就是my-weather。bin里的指针都是环境变量,全局视野的。

同时,要告诉系统这个命令是要在node环境下运行,所以,在包的index.js首部加入

#!/usr/bin/env node 
开发npm包模板_第19张图片

有了这句话,输入命令时前面就不需要加node了。

然后,再更新一下版本号,发布一下。


开发npm包模板_第20张图片

测试一下,随便一个路径,全局安装:


开发npm包模板_第21张图片

看看安装的那些点,满满的都是套路啊。
试一试,

命令是bin里设置的键值,,,

my-weather
开发npm包模板_第22张图片

完成了。。。。

你可能感兴趣的:(开发npm包模板)