开源许可证开源许可证是神马哩,这个开源许可说明是各大组织设立了为代码开源许可的规范文档，当作者声明此文档类型时，他人必须遵守该文档类型的规范。（懂得都懂...）在 上一篇文章 当中说到了这个开源许可证,有好几种,具体有哪一种的这就娓娓道来.在 上一篇文章npm初始化/创建package.json文件的时候遇到的 "license": "ISC",这个选项.就是填写今天要介绍的几种证书..开整 莱~斯~狗~~~！先放一张流程图来看看给大家~(比较粗糙)1. Apache许可Apache许可证(Apache License)，是一个在Apache软件基金会发布的自由软件许可证，最初为Apache http服务器而撰写。Apache许可证要求被授权者保留版权和放弃权利的申明，但它不是一个反版权的许可证。当前版本: Apache License, Version 2.02. MIT许可MIT许可证之名源自麻省理工学院（Massachusetts Institute of Technology, MIT），又称“X条款”（X License）或“X11条款”（X11 License）。MIT是和BSD一样宽范的许可协议，作者只想保留版权,而无任何其他了限制。也就是说，你必须在你的发行版里包含原许可协议的声明，无论你是以二进制发布的还是以源代码发布的。当前版本 The MIT License3. ISC许可ISC许可证是一种开放源代码许可证，在功能上与两句版的BSD许可证相同。这份许可证是由ISC（Internet Systems Consortium）所发明，在ISC释出软件时所使用的。当前版本 ISC License (ISC)4. BSD许可BSD开源协议（original BSD license、FreeBSD license、Original BSD license）是一个给于使用者很大自由的协议，BSD 代码鼓励代码共享，但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码，也允许使用或在BSD代码上开发商业软件发布和销售，因此是对商业集成很友好的协议。当前版本 The 2-Clause BSD License5. GPL许可GPL，是GNU General Public License的缩写，是GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表，亦非使用GNU通用公共授权的软件的法定发布条款只有GNU通用公共授权英文原文的版本始具有此等效力。当前版本 GNU General Public License6. Mozilla许可MPL是The Mozilla Public License的简写，是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是，Netscape公司认为GPL许可证没有很好地平衡开发者对 源代码的需求和他们利用源代码获得的利益。当前版本 Mozilla Public License7. LGPL许可LGPL是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式，旧称GNU Library General Public License (GNU 库通用公共许可证),后来改称作Lesser GPL，即为更宽松的GPL，在宽松程度上与BSD, Apache,XFree86 许可证相似。当前版本 Lesser General Public License其他许可点击进入 SPDX License List 看到更多协议类型～
npm是什么? NPM是随同NodeJS一起安装的包管理工具，能解决NodeJS代码部署上的很多问题。[quote color="success"] 使用场景允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。[/quote]npm怎么安装?由于新版的nodejs已经集成了npm，所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下，出现版本提示表示安装成功: $ npm -v 6.13.4当然旧版的话就得手动升级,不过现在没有人用旧版了吧?这里就不放旧版的了,不啰嗦啦~开整~初始化/创建一个package.json 包/模块win+R打开开始输入cmd打开Doss窗口 或者使用 git的 Git Bash HereAdministrator@SKY-20160224WZM MINGW64 ~/Desktop/npmtest $ npm init //创建初始化 package.json 模块包 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 json` 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: (npmtest) name //包名 version: (1.0.0) 1.0.1 //版本号,不填默认是 1.0.0 description: JieShao //介绍 entry point: (index.js) index.js //入口文件名,具体是做什么的可以自己查询一下,不知道的话写 `index.js`即可 test command: make test //测试命令,具体是做什么的自己查询 git repository: https:\/\/github.com/xxx/xxx/xx //GitHub仓库地址 keywords: GuanJianZi //包名/模块 的关键字 author: ZuoZheMingZi //作者名字 license: (ISC) ISC //许可证,MIT,ISC等好几种证书,详情自己百度或者查看后面的文章[七种开源许可证cid:205]链接上面的203改成205即可 About to write to C:\Users\Administrator\Desktop\npmtest\package.json: { "name": "name", "version": "1.0.1", "description": "JieShao", "main": "index.js", "scripts": { "test": "make test" }, "repository": { "type": "git", "url": "https://github.com/xxx/xxx/xx" }, "keywords": [ "GuanJianZi" ], "author": "ZuoZheMingZi", "license": "ISC" } Is this OK? (yes) yes //以上信息输入完毕后这里填写`yes` 即可保存. [acc status="close" title="实际操作"][/acc]创建好后继续在Doss窗口内输入一下代码进行登录Administrator@SKY-20160224WZM MINGW64 ~/Desktop/npmtest $ npm login //进行登录 Username: uaerneme //npmjs的帐号 Password: password //npmjs的密码 Email: (this IS public) xxxxx@foxmail.com //npmjs的邮箱 npm notice Please check your email for a one-time password (OTP) Enter one-time password from your authenticator app: 14707627 //npm给你的邮箱发送的验证码,正常都是8位数 Logged in as anwenanyi on https://registry.npmjs.org/. //输入以上信息后会提示这个,说明登录成功.登录成功后进行上传操作npm publish //登录成功后输入此命令回车进行发布~ 等发布成功后去 npmjs上面看就能看到啦~ ..... //上传中... ..... //上传中... ..... //上传中... ..... //上传中... ..... //上传中... ..... //上传中... ..... //上传中... ..... //上传中... ..... //上传中... //上传结束 npm notice ---Tarball Details === npm notice name: xxx npm notice verison: 1.0.0 npm notice package size: 1.3 MB npm notice unpacked size: 3.5 MB npm notice shasum: 2a82xxxbd5bxxxd0xxxxed0fcb02xxxx222xxx4f npm notice integrity: sha512-wxLoxxxxI59Ip[...]1IZxxxxxiusR== npm notice total files: 186 npm notice +xxx@1.0.0 //发布生成,可以去npmjs官网看你自己的包/模块 啦~OK以上就是在npm上传自己的包/模块 啦~注意事项发布/升级新版本的时候,先修改package.json中的版本号（version），然后再执行npm publish；（不修改版本号上传会失败）上传时不能使用淘宝镜像npm config set registry https://registry.npmjs.org[acc status="close" title="参考资料"]https://m.runoob.com/nodejs/nodejs-npm.htmlhttps://blog.csdn.net/rainbow8590/article/details/107536049[/acc]