如何在npm官网中上传自己的包

如何在npm发布自己的模块:步骤与常见问题解析

1.npm官网是什么?

是前端程序员的百宝箱,当你要实现某些业务逻辑但是自己又写不出来的时候,就可以去这里借鉴白嫖他人写好的模块(这里附上官网链接地址:npm

2.为什么要上传自己的包

原因有二:

(1)自己写的包如果能被其他程序员用于开发项目,那将是一种荣耀。比如我们常用的vue和react也是npm中的一个包。

(2)提前抢占包名,万一以后有个大佬想要你的包名,就可以找你买下来(虽然概率很小)

进入主题,如何上传自己的包名呢?

步骤

1.第一步,查看npm官网中是否已有自己准备上传的包名

指令:npm view 【你的npm包名】

注意这里有一个坑:包名会在上传的时候会转换为小写(此处我虽然找不到npmUpload,但是上传时转为了npmupload,又由于npm官网里已经有了npmupload这个包了,所以之后我上传时会报错。写下这篇文章的时候已经修改了包名却忘记截图了,特此补充解释)

2.第二步,初始化项目

指令: npm init --yes

注意:你的项目文件夹必须是英文,不然会报错

3.第三步,将自己写好的模块放入该文件夹

4.第四步,查看当前npm源,确保当前的npm源是npmjs.org

指令:

(1)查看当前源:npm config get registry

(2)切换为npm源:npm config set registry https://registry.npmjs.org

(3)切换为淘宝镜像:npm config set registry=https://registry.npm.taobao.org/

5.第五步,连接npm

指令:npm adduser

注意:

(1)在这之前,你得先去npm官网中注册一个属于自己的账号才行

(2)如果之前连接过,这一步可以省略

6.第六步,查看是否连接成功(出现你的账号名表示成功)

指令:npm who am i

 

7.第七步,把包上传到npm

指令:npm publish

恭喜你,到这一步的时候,你已经成功完成了 自己的包的上传,你可以去npm官网里找到自己刚刚上传的包,或者在本地下载自己的包了!

----------------------------------------------------------华丽的分割线---------------------------------------------------

下面介绍一下我上传时遇到的bug:

 

错误原因:

(1)这个包名被别人先用了(由于不小心将包名设置成大写造成的)。 

(2)包的版本号不对:每次publish时,包的版本号都应该要大于之前的版本号。

(3)文件过大。你可能需要创建.npmignore文件来设置在打包时要忽略哪些文件

.npmignore示例如下

# .npmignore
/node_modules
npm-debug.log
/src
/examples
/build

其它指令

1.退出登录: npm logout

2.下载包:npm install 包名

3.删除包:npm unpublish --force //强制删除

4.更新包:

(1)更新版本号。可直接在package.json中修改:只能改大,不能改小。

(2)重新publish

### 如何配置npm以从本地缓存上至Nexus仓库 为了实现将npm缓存中的到Nexus仓库,需先理解几个概念并完成相应设置。Nexus支持多种类型的存储库,其中`npm-hosted`用于托管私有的npm[^1]。 #### 配置Nexus Repository Manager 在Nexus中创建一个名为`npm-hosted`的hosted类型repository来接收来自开发者发布的npm。此操作通过Nexus界面完成,在创建时指定Blob Store为`npm`。 对于已经存在于本地机器上的npm(即所谓的“缓存”),如果希望将其作为新的版本提交给上述创建好的`npm-hosted`仓库,则需要执行如下命令: ```bash cd /path/to/package npm publish --registry=http://<your-nexus-server>:8081/repository/<name-of-your-npm-hosted-repo>/ ``` 这里的关键在于使用`publish`指令的同时指定了自定义的注册表URL指向之前建立的那个`npm-hosted`仓库地址[^2]。 需要注意的是,当尝试推送已存在的软件名称时可能会遇到冲突错误;因此建议确保所要上名唯一或是适当调整版本号再进行发布。 另外,为了让其他团队成员能够访问这些新加入的私有,应该更新全局或项目的`.npmrc`文件使其默认指向含所有资源(括私有和公共依赖项)的Repository Group URL: ```bash npm config set registry http://<your-nexus-server>:8081/repository/npm-all/ ``` 这一步骤确保了即使是从官方源获取不到的数据也能顺利找到对应的镜像位置。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值