上传自己的依赖包学习记录

记录学习如何发布自己的npm依赖包

开发组件

  1. 创建项目并在项目根目录下创建要存放组建的文件夹(如:packages)
  2. 在packages文件夹中新建组件文件夹(如:button文件夹,button文件夹下应该包括.js.vue文件)
  3. 在packages文件夹中新建index.js作为组件入口并全部导出

开发一个button组件

// packages/button/index.vue
<template>
  <div :class="tClass">
    <button><slot></slot></button>
  </div>
</template>

<script setup>
import { computed } from 'vue'
const props = defineProps({
  type: {
    type: String,
    default: 'default'
  }
})
const tClass = computed(() => {
  return ['s-button', `s-button-${props.type}`]
})
console.log(props.type)
</script>

<script>
export default {
  name: 'sButton'
}
</script>

<style lang="scss" scoped>
button {
  outline: none;
  border: 0;
  background: none;
  cursor: pointer;
}
.s-button {
  button {
    padding: 12px 24px;
    border-radius: 4px;
    border: 1px solid #f60;
    &:hover,&:focus {
      opacity: 0.8;
    }
  }
  &.s-button-default {
    button {
      background: #f60;
    }
  }
  &.s-button-success {
    button {
      background: green;
    }
  }
  &.s-button-warning {
    button {
      background: orange;
    }
  }
}
</style>
// packages/button/index.js
import sButton from './index.vue'

sButton.install = app => {
  app.component(sButton.name, sButton)
}

export default sButton
// packages/index.js
import sButton from "./button/index"

const install = app => {
  app.use(sButton)
}

const SUI = {
  install
}

export { sButton }
export default SUI

修改配置

// package.json
{
  "private": false,
  "version": "0.0.1",
  "main": "./dist/sxzui.umd.js",
  "module": "./dist/sxzui.es.js",
  "exports": {
    ".": {
      "import": "./dist/sxzui.es.js",
      "require": "./dist/sxzui.umd.js"
    }
  },
  "files": [
    "dist/*"
  ]
}
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
  plugins: [vue()],
  build: {
    rollupOptions: {
      external: ['vue'],
      output: {
        globals: {
          vue: 'Vue'
        }
      }
    },
    lib: {
      entry: './packages/index.js',
      name: 'sxzui'
    }
  }
})

npm发布依赖

  1. npm login 登录
  2. 填写用户名 密码 邮箱
  3. 登录后 npm publish 即可发布

npmjs 相关

注册登录后 需要开启验证(下图步骤2是验证后的)
双因素验证
正常登录后首页会有提示信息 和操作步骤文档 按照步骤操作即可

需要手机下载 Authenticator app 动态获取6位密码

发布成功后在 Packages 中能看到新发布的项目 或者 npm install 项目名安装使用下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值