vue-demi 单文件组件模板库

变更

安装插件unplugin-vue2-script-setup,编写组件的时候就可以使用setup语法糖,且打包后被Vue2.x项目支持

    1. vue2-playground/package.json 安装 "unplugin-vue2-script-setup"
js 复制代码
"unplugin-vue2-script-setup": "^0.11.3",
    1. vue2-playground/vite.config.ts 使用unplugin-vue2-script-setup/vite
js 复制代码
import ScriptSetup from 'unplugin-vue2-script-setup/vite'

export const viteVue2Config = defineConfig({
  plugins: [vue2(), ...getSharedPlugins('v2'), ScriptSetup({}), fixCjsCompositionApi()],
  })

流程

  • 1.安装项目包,运行项目
js 复制代码
pnpm install
npm run dev:3
  • 2.src目录下编写公用组件 + index.ts提供注册组件的install
html 复制代码
// src/Demo.vue

// src/index.ts
import Demo from './Demo.vue'

export default {
  install(app: any, options?: Record<string, unknown>) {
    app.component('Demo', Demo)
  },
}
  • 3.在vue3-playground 或 vue2-playground中引入组件,验证组件没问题后再打包
js 复制代码
// vite.base.config.ts 打包的入口 + 出口
outDir
entry: path.resolve(__dirname, 'src/index.ts'),
  • 4.打包: 打3个版本的包 v2 v2.7 v3
js 复制代码
npm run build
    1. 发包前检查 name,变更version
js 复制代码
// dist产物
// package.json 版本 + 公有化 + publishConfig

"name": "aa-bb",
"version": "1.0.3",
"publishConfig": {
   "registry": "http://xxx"
},
  • 6.上传包到npm 或者 私有服务器
less 复制代码
// 登录源
npm login --registry=http://xxx

// 输入用户名 密码 邮箱
npm adduser 

// 看有无登录成功
npm who am i 

// 发布打包产物dist
npm publish
  • 7.包服务器查看包有无发布成功,同时查看包的版本
  • 8.安装远程包 【版本号若和上次一致,注意先删除yarn.lock || package-lock.json文件中该包的相关信息,再安装】
js 复制代码
npm config set registry=https://registry.npmmirror.com

// 变更为包服务器地址
npm config set registry=http://xxx

// 安装包
npm install [email protected]
  • 9.安装成功后,且无任何报错,再使用包
js 复制代码
// main.js
import AaBb from 'aa-bb' // 会找到/node_modules/aa-bb/package.json中exports的导出内容
import 'aa-bb/dist/style.css'

app.use(AaBb) // 注册aa-bb项目暴露的所有组件
相关推荐
拉不动的猪21 分钟前
管理不同权限用户的左侧菜单展示以及权限按钮的启用 / 禁用之其中一种解决方案
前端·javascript·面试
西陵32 分钟前
前端框架渲染DOM的的方式你知道多少?
前端·javascript·架构
小九九的爸爸33 分钟前
我是如何让AI帮我还原设计稿的
前端·人工智能·ai编程
海的诗篇_1 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
江城开朗的豌豆1 小时前
eval:JavaScript里的双刃剑,用好了封神,用不好封号!
前端·javascript·面试
Forever Nore1 小时前
前端技能包
前端
江城开朗的豌豆1 小时前
JavaScript篇:前端定时器黑科技:不用setInterval照样玩转循环任务
前端·javascript·面试
书中自有妍如玉2 小时前
.net 使用MQTT订阅消息
java·前端·.net
江城开朗的豌豆2 小时前
JavaScript篇:自定义事件:让你的代码学会'打小报告'
前端·javascript·面试
ai产品老杨3 小时前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频