npm发布组件

src里面新建package文件夹
用rollup打包比webpack好,因为简介,支持输出esm(es6格式)
写组件代码。然后开始打包发布:
1.注册组件
1.1 注册单个组件

//package/index.js
import PigButton from "../package/pig-button/index.vue"; // 引入封装好的组件
const coms = [PigButton]; // 将来如果有其它组件,都可以写到这个数组里

// 批量组件注册
const install = function (Vue) {
  coms.forEach((com) => {
    Vue.component(com.name, com);
  });
};

export default install; // 这个方法以后再使用的时候可以被use调用

1.2 注册多个组件(vue3)

import { App } from 'vue'
import { IDirectiveProps } from './type'
import '@/style/index.css';

export default {
    install(app: App) {
        const modules = import.meta.globEager('./**/*.ts'); // vue2用require.context 
        Object.keys(modules).forEach(moduleName => {
            const directive: IDirectiveProps = Reflect.get(modules, moduleName).default;
            if (directive && directive.directiveName){
                const {directiveName,directiveValue} = directive;
                app.directive(directiveName,directiveValue)
            }
        })
    }
}

2.打包
在package.json中配置打包信息

"name": "duan_vue3-directive-next-ts2", //名称
  "private": false,
  "version": "1.0.0",  // 每次发布要修改一下版本,npm version patch自动修改
  "files": [
    "lib/"
  ],
  "exports": {
    ".": {
      "import": "./lib/v-directive.es.js",
      "require": "./lib/v-directive.umd.js"
    }
  },
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "package": "vue-cli-service build --target lib ./src/package/index.js --name pig-ui --dest pig-ui" // 这行是打包
  },

打包命令解释:

–target lib 关键字 指定打包的目录
–name 打包后的文件名字
–dest 打包后的文件夹的名称
npm run package
打包执行完成后我们项目目录下就会多出一个pig-ui文件夹,存放的是打包后的文件。
在这里插入图片描述

3.或者进入pig-ui目录,然后执行npm init -y
4.npm login
5.npm publish/npm publish --access public
6.24小时可以删除发布的
npm unpublish duan_vue3-directive-next-ts3 --force

7.使用
npm install 名称 -S
全局main.js 里面配置:
import aaa from ‘名称’
import ‘***.css’
Vue.use(aaa)

npm script hook

1.git上的项目,如果有npm发布,readme中加上npm连接
2.yarn.lock和package-lock.json不能同时存在,需要删除一个。
3.ui组件库,只需要一个,不能element和iview共存。
4.cdn配置cdn.jsdelivr.net

参考视频1

参考视频2


好用的npm组件库
@nutui/nutui-react 70+ 高质量组件(React 1.0 持续开发中),覆盖移动端主流场景,基于京东APP 10.0 视觉规范

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要将 Vue 组件发布npm 上,可以按照以下步骤进行操作: 1. 在你的项目根目录下,使用 `npm init` 命令创建一个 `package.json` 文件。 2. 在 `package.json` 中添加 `main` 属性,指定组件的入口文件路径,例如: ``` "main": "dist/my-component.js", ``` 这里假设你的组件入口文件是 `my-component.js`,并且已经打包到了 `dist` 目录下。 3. 在项目根目录下创建一个 `.npmignore` 文件,用于指定哪些文件不需要被发布npm 上。例如: ``` node_modules/ dist/ ``` 这里的意思是排除 `node_modules` 和 `dist` 目录,因为这些文件夹通常都比较大,而且在安装组件时也不需要这些文件。 4. 在 `package.json` 中添加 `scripts` 属性,用于定义打包命令,例如: ``` "scripts": { "build": "vue-cli-service build --target lib --name my-component src/index.js" }, ``` 这里假设你使用 Vue CLI 3.x 创建了组件项目,并且入口文件是 `src/index.js`。运行 `npm run build` 命令会将组件打包到 `dist` 目录下。 5. 添加 `peerDependencies` 属性,用于指定组件的依赖关系,例如: ``` "peerDependencies": { "vue": "^2.6.10" }, ``` 这里假设你的组件依赖于 Vue 2.x 版本。 6. 确认所有依赖项都已经安装完成,然后使用 `npm login` 命令登录到 npm 账号。 7. 使用 `npm publish` 命令将组件发布npm 上,例如: ``` npm publish ``` 这里假设你已经在 `package.json` 中指定了包名和版本号。 发布成功后,其他人就可以通过 `npm install` 命令安装你的组件了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值