当前位置: 首页 > Web前端 > JavaScript

vue组件发布到npm的详细过程及npm登录失败的解决方法

时间:2023-03-27 10:53:41 JavaScript

将vue组件发布到npm的详细过程及npm登录失败的解决要求为了方便组件的使用,将vue组件打包发布到npm,或者直接在项目中使用,引入使用创建项目使用scaffoldingvuecreatedemocreation之后,在目录下新建packages目录,用于存放组件。当然你也可以在src中创建一个目录来存放。由于创建的packages目录在src之外,脚手架不会编译该目录,所以需要配置webpack才能编译。在视图中。在config.js文件中配置//vue.config.jsmodule.exports={pages:{index:{entry:'src/main.js',template:'public/index.html',filename:'index.html'}},chainWebpack:config=>{config.module.rule('js').include.add('/packages').end().use('babel').loader('babel-loader').tap(options=>{returnoptions})}}创建一个组件目录和组件入口,首先在packages目录下创建一个zlDemo文件和一个index.js文件来配置该目录下的组件//packages/index.jsimportzlDemofrom'./zlDemo'//存储组件列表constcomponents=[zlDemo]//定义install方法,接收Vue作为参数。如果使用use注册插件,所有组件都会被注册constinstall=function(Vue){//判断是否安装if(install.installed)return//遍历并注册全局组件components.map(component=>Vue.component(component.name,component))}//判断文件是否直接导入if(typeofwindow!=='undefined'&&window.Vue){install(window.Vue)}exportdefault{//导出的对象必须安装到可以通过Vue.use()方法安装,//下面是具体的组件列表zlDemo}创建组件,在packages/zlDemo目录下创建index.js和index.vue组件文件,代码如下//包/zlDemo/index.jsimportzlToastfrom'./index.vue'zlToast.install=function(Vue){Vue.component(zlToast.name,zlToast)}exportdefaultzlToast//packages/zlDemo/index.vue在package.json中配置打包命令file添加打包命令lib//package.json"scripts":{//配置打包命令"lib":"vue-cli-servicebuild--targetlib--namezlDemo1--destlibpackages/index.js"}"private":false,//public"name":"zlDemo",//组件名称"version":"0.1.0",//版本号"author":"zhanle_huang",//作者打包后直接将"name.umd.js"导入到同版本vue项目中使用,有两种使用方式//importzldemofrom'./zldemo.js'app.use(zldemo)//引入importzldemofrom'./zldemo.js'//这里需要注意,需要通过这种方式注册exportdefault{components:{//这里的xxx表示定义packages/index.js下定义的名字zldemo:zldemo.xxx},注册npm账号地址:npm官网,注册后打开项目根目录,执行npm登录,登录成功后,执行npm发布,会提示完成(发布前,可以npmi包名)看是否有重复,如果有错误解决方法更改名称和登录失败https://blog.csdn.net/ta_huang/article/details/122615787?spm=1001.2014.3001.5501.总结按照上面的步骤,就可以打包自己的npm组件发布onpm。这是博主自己发布的测试包地址https://www.npmjs.com/package/zl-democs1。大家可以下载看看,里面的代码是完整完整的项目地址:https://gitee.com/huang_zhan_...ps:如果你喜欢前端或者正在学习前端,你可以关注博主学习更多前端知识