组件化npm包打包和使用

背景:本地环境对功能组件提取,开发环境下通过本地路径引用,发布模式下走npm包引用

1、项目下新建packages/HelloWorld文件夹,在此文件夹下运行终端

npm init

新建packages/HelloWorld/index.vue文件

新建packages/HelloWorld/index.js文件

javascript 复制代码
import helloworld from "./index.vue";

export {
  helloworld
}

1、本地打包:

npm pack

将helloworld-1.0.1.tgz 放到项目根目录下,运行终端命令

npm install helloworld-1.0.1.tgz //加载组件

npm uninstall helloworld-1.0.1.tgz //删除组件

在项目.vue文件中引用

html 复制代码
<script setup>
import {helloworld} from "helloworld"
</script>

<template>
  <div>
    <span>测试helloworld组件</span>
    <helloworld></helloworld>
  </div>
</template>

2、私库打包

npm config get registry //查看 npm 配置私库地址

npm config set registry ${私库地址:https://registry.npmjs.org/} //设置私库地址

npm adduser --registry ${私库地址:https://registry.npmjs.org/} //添加用户

npm login //登录私库账号

npm publish //将npm包推送到私库

npm unpublish ${包名} --force //删除已发布的包

npm install ${包名} //下载对应包

3、本地路径访问

安装@types/node,配置@=src目录路径

npm install @types/node --save-dev

在vite.config.ts文件添加配置

"hello-world": resolve(__dirname, "packages/HelloWorld")

在项目.vue文件中引用

相关推荐
majingming1232 小时前
FUNCTION
java·前端·javascript
A_nanda3 小时前
Vue项目升级
前端·vue3·vue2
SuperEugene3 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
abigale033 小时前
【浏览器 API / 网络请求 / 文件处理】前端文件上传全流程:从基础上传到断点续传
前端·typescript·文件上传·vue cli
子兮曰3 小时前
Bun v1.3.11 官方更新全整理:新增功能、关键修复与升级验证
javascript·node.js·bun
Setsuna_F_Seiei4 小时前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑4 小时前
追踪来自Agent的Web 流量
前端
wefly20174 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
英俊潇洒美少年5 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js
kyriewen116 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript