热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:npm插件发布和使用

本文由编程笔记#小编为大家整理,主要介绍了npm插件发布和使用相关的知识,希望对你有一定的参考价值。npm发布步骤:
本文由编程笔记#小编为大家整理,主要介绍了npm 插件发布和使用相关的知识,希望对你有一定的参考价值。


npm 发布步骤:


参考:https://www.jianshu.com/p/9342c8d355a9

1.创建项目,安装依赖


vue init webpack-simple 项目名称 //创建插件项目
npm install //安装依赖
npm run dev // 启动项目

2.编写插件:

创建组件文件夹:src/lib/index.js 和 vue-totas-c.vue

本地测试组件:

main.js


import Vue from ‘vue‘
import App from ‘./App.vue‘
import Toast from ‘./lib/index.js‘
Vue.use(Toast);
new Vue({
el: ‘#app‘,
render: h => h(App)
})

App.vue





安装依赖:npm install

启动项目进行测试:npm run dev

webpack.config.js


module.exports = {
entry: ‘./src/main.js‘, // 打包发布入口
output: {
path: path.resolve(__dirname, ‘./dist‘),
publicPath: ‘/dist/‘,
filename: ‘vue-toast-c.js‘, // 打包生成的模块名
library: ‘vueToastC‘, // 你使用require时的模块名
libraryTarget: ‘umd‘, // 指定输出格式
umdNamedDefine: true // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
}
……
}

打包:npm run build

打包后,会在根目录下生成一个dist文件夹,里面包含vue-toast-c.jsvue-toast-c.js.map两个文件,说明打包成功。


修改package.json

修改根目录下的package.json文件,修改和添加以下内容


{
"private": false,//这里一定要改为 false
"main": "dist/vue-toast-c.js",//默认 import 引入插件时,读取的文件
"repository": {
"type": "git",
"url": "https://github.com/chenfangsheng/vue-toast-c"//这里为我自己插件存放github的地址
}
}


发布插件到npm


npm login // 登录
npm publish // 发布

  

 


 

插件发布基本总结:


// 1.npm插件发布
npm addUser // 分别输入用户名、密码、邮箱
npm publish // 直接发布
npm login // 第一次发版本
npm unpublish --force // 取消插件发布【谨慎使用】
// 2.npm插件更新
npm version patch // 补丁【1.0.1】
npm version minor // 小改【1.1.0】
npm version major // 大改【2.0.0】
// 注意需要再一次执行:npm publish
// 3.查看远程包版本信息
npm view xxx versions

// 4.npm单独更新某个包
npm update xxx
// 5.npm更新至最新版
npm install -g npm

 

常见的报错信息:


(1)no_perms Private mode enable, only admin can publish this module
    这是因为镜像设置成淘宝镜像了,设置回来即可

(2)npm publish failed put 500 unexpected status code 401
      一般是没有登录,重新登录一下 npm login 即可

(3)npm ERR! you do not have permission to publish “your module name”. Are you logged in as the correct user?

    包名被占用,改个包名即可。最好在官网查一下是否有包名被占用,之后再重命名

(4)you must verify your email before publishing a new package

      邮箱未验证,去官网验证一下邮箱


 

npm登录时总是报错

技术图片

 

 


原因:使用了 taobao 的 registry(注册表) 地址造成登录出现如标题所示错误。

解决办法:在控制台输入【npm config set registry https://registry.npmjs.org/】命令。


 

npm发包的时候报错

技术图片

 

 


原因:包名被占用,改个包名即可。最好在官网查一下是否有包名被占用,之后再重命名

解决办法:进入package.json,修改插件名


技术图片

 


推荐阅读
  • 本文深入探讨了 Vue.js 中异步组件的应用与优化策略。首先,文章介绍了异步组件的基本概念及其在现代前端开发中的重要性。为了确保最佳实践,建议使用 Webpack 作为模块打包工具,因为 Browserify 默认不支持异步组件的加载。接着,详细解释了异步组件的使用方法,并提供了官方文档的相关链接以供参考。此外,文章还讨论了多种优化技巧,包括代码分割、懒加载和性能调优,以提升应用的整体性能和用户体验。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • 基于Node.js、EJSExcel、Express与Vue.js构建Excel转JSON工具:首阶段——Vue.js项目初始化及开发环境配置
    在近期的一个H5游戏开发项目中,需要将Excel数据转换为JSON格式。经过调研,市面上缺乏合适的工具满足需求。因此,决定利用Node.js、EJSExcel、Express和Vue.js自行构建这一工具。本文主要介绍项目的第一阶段,即Vue.js项目的初始化及开发环境的配置过程,详细阐述了如何搭建高效的前端开发环境,确保后续功能开发的顺利进行。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Vue CLI 初始化 Webpack 项目时,main.js 文件是如何被调用的? ... [详细]
  • 在最近的学习过程中,我对Vue.js中的Prop属性有了更深入的理解,并认为这一知识点至关重要,因此在此记录一些心得体会。Prop属性用于在组件之间传递数据。由于每个组件实例的作用域都是独立的,无法直接引用父组件的数据。通过使用Prop,可以将数据从父组件安全地传递到子组件,确保数据的隔离性和可维护性。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 在 Vue.js 中实现网络请求的方法与最佳实践包括使用 `vue-resource` 插件。首先,通过命令 `npm install vue-resource --save` 安装该插件,确保添加 `--save` 参数以将依赖项记录到 `package.json` 文件中。此外,推荐使用 `axios` 作为替代方案,因为它提供了更强大的功能和更好的性能。在项目中引入并配置 `axios`,可以实现更高效、灵活的网络请求管理。 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 如何在 Node.js 环境中将 CSV 数据转换为标准的 JSON 文件格式? ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 使用vue.js实现checkbox的全选,和多个的删除欢迎大家来我的博客浏览更多的干货内容www.jaxqin.comtemplate代码:<template> ... [详细]
author-avatar
写bug小能手
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有