摘要:概述本篇文章承接上文,记录的是如何发布自己的模块编写模块新建项目并初始化编写模块代码发布模块测试模块命名空间每个人都可以发布自己的包,难免会有包名相同的情况,如果想要使
0x001 概述
本篇文章承接上文,记录的是如何发布自己的Node.js模块
0x002 编写模块新建项目并初始化
$ mkdir 0x005-publish-own-module $ cd 0x005-publish-own-module $ 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 json` for definitive documentation on these fields and exactly what they do. Use `npm install` 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: (0x005-publish-own-module) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /MY_PROJECT/PROJECT_OWN/NodeJS/npm/0x005-publish-own-module/package.json: { "name": "0x005-publish-own-module", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } Is this ok? (yes)
编写模块代码
$ vim index.js // index.js exports.printMsg = function() { console.log("This is a message from the demo package"); }
发布模块
$ npm publish --access=public + 0x005-publish-own-module@1.0.0
测试模块
$ mkdir 0x006-use-own-package $ cd 0x006-use-own-package $ npm install 0x005-publish-own-module@1.0.0 npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN npm@1.0.0 No description npm WARN npm@1.0.0 No repository field. + 0x005-publish-own-module@1.0.0 $ vim index.js // index.js var myModule = require("0x005-publish-own-module"); console.log(myModule); myModule.printMsg(); $ node index.js { printMsg: [Function] } This is a message from the demo package0x003 命名空间
每个人都可以发布自己的包,难免会有包名相同的情况,如果想要使用一个已经存在的包的包名,可以使用命名空间
将package.json中的包名该为@scope/package_name就行,比如@followwinter/lodash
其中,scope为当前登录的用户名,package_name便是包名,则在安装、更新、移除、require包的时候都必须该为这种格式
项目的初始化版本号为1.0.0,当然也可以自行修改,也可以不遵守以下规范
主版本号:版本更新,具有颠覆式的改变或者架构的改变
次版本号:新功能更新
bug修复版本号:bug修复
0x005 tag使用为一个版本添加一个tag
npm dist-tag add
发布一个有tag的版本
npm publish --tag beta --access=public
安装
npm install 0x005-publish-own-module@beta
0x006 总结
npm publish [[--tag beta] [--access public]]
发布一个包
如果access=public,则这个包为公共的,所有人都可以通过npm安装这个包
如果携带了tag参数,则可以通过npm install
npm dist-tag add
项目github
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/88495.html
摘要:引用并执行如果安装出错,比如写错了包名,将会发生以下事情命令行报错使用可以自己新建一个文件编写也可以直接使用来初始化一个该命令是一个交互式命令,可以根据提示输入相应信息生成相应的,命令提示后面的中为提示内容,可以选择一路,然后再去修改。 0x001 概述 npm是一个包管理工具,本文章基本算是对官方文档的解读、翻译和实操笔记,顺便说明使用npm中的坑。 0x002 安装Node.js ...
摘要:概述本篇文章承接上文,记录的和版本在包管理方面的异同,基于阅读官方原文整理简化。此时的文件夹如下所示包的复制和取消复制假设我们有一个项目依赖添加依赖依赖,此时添加依赖依赖,此时升级依赖依赖,此时升级依赖依赖,此时执行查看文件夹资源项目 0x000 概述 本篇文章承接上文,记录的v2和v3版本在包管理方面的异同,基于阅读官方原文整理简化。 0x001 v2管理方式 假设有模块A、B、C,...
摘要:如何选择就如果上面所有,需要打包进生产环境就保存到,只是在开发或者打包的时候使用的就保存到即可。提示不能发布当前版本解决方案不能发布已经发布的版本,修改一下版本号就可以了想不到了,想到了再写资源项目 0x001 概述 本篇文章承接上文,记录的是一些使用过程中的疑惑 0x001 墙的原因使得包下载太慢 解决方案:使用淘宝cnpm,推荐使用cnpm,因为如果修改npm仓库,将会导致无法发布...
摘要:概述本篇文章承接上文,记录的的配置和命令的详细说明。的配置说明项目名称,的时候就是使用这个。案例说明版本号,符合的版本规范的版本号,默认从开始。 0x000 概述 本篇文章承接上文,记录的package.json的配置和npm命令的详细说明。 0x001 package.json的配置 name: 说明:项目名称,npm install的时候就是使用这个name。 案例:loda...
摘要:概述上一章已经实现了最简单的配置文件使用和监听功能,这一章要开始实现自动刷新。只能在终端中使用的在章节中指令后标有可以使用的功能,快速调用终端最终项目文件夹结构资源源代码 0x001 概述 上一章已经实现了最简单的webpack配置文件使用和webpack监听功能,这一章要开始实现自动刷新。 0x002 浏览器自动刷新 创建新的项目框架 - webpack_study + ...
阅读 5061·2021-10-15 09:42
阅读 1590·2021-09-22 16:05
阅读 3248·2021-09-22 15:57
阅读 3358·2019-12-27 12:06
阅读 952·2019-08-29 15:16
阅读 2865·2019-08-26 12:24
阅读 365·2019-08-26 12:02
阅读 1866·2019-08-23 16:00