当前位置: 首页 > news >正文

网站建设与管理 pdf四川建设厅电话网站

网站建设与管理 pdf,四川建设厅电话网站,河南搜索引擎推广价格,wordpress 书站记录一下个人最近一次发布npm组件的过程: 一、创建组件和工具函数 执行命令创建一个空项目: npm create vite 创建过程稍微有些慢,不知何故?其中选择vue , 个人暂时使用的JS 。在 src 目录下面创建一个文件 package 存放组件和公…

记录一下个人最近一次发布npm组件的过程:

一、创建组件和工具函数

  1. 执行命令创建一个空项目: npm create vite 创建过程稍微有些慢,不知何故?其中选择vue , 个人暂时使用的JS 。
  2. 在 src 目录下面创建一个文件 package 存放组件和公共的JS方法

image.png

案例中 table 是放组件的, utils 是放方法的。
table组件 里面的主要内容就是个人业务组件,随便写点

<template><input type="text" v-model="MyValue"><div>结果:{{ MyValue }}</div><button @click="handelEvent"> 测试按钮 </button>
</template><script setup>
import { ref } from "vue";
const MyValue = ref("");
const emit = defineEmits(["testBtn"]);
const handelEvent = () => {emit("testBtn", MyValue.value);
};
</script><script>
export default {name: "eosBtn",
};
</script>

这里遇到一个疑问,组件名称的暴露:必须通过下面的方式。

export default {name: "eosBtn",
}; 

我最开始用的组合式api 直接暴露的,竟然无法使用,如有知道原因的,还请赐教一下。

<script setup name="eosBtn"> </script>

函数方法,utils文件 也随便写一个:

// indes.js
import { handleFirstUpperCase } from "./utils.js";
export default { handleFirstUpperCase };// utils.js
/* 
* 首字母转大写
*/
export function handleFirstUpperCase(str) {return str.replace(/( |^)[a-z]/g, (L) => L.toUpperCase());
}
  1. 开始暴露出去组件和方法,在package 下的index.js 写
import eosBtn from './table/index.vue'
import EUtils from './utils/index.js'const components = [eosBtn]
const install = function (Vue) {components.map(el => {Vue.component(el.name, el) // 注册组件})
}
export default { install, EUtils }
  1. 本地自测,还是在当前的项目下,在main.js 里面引入和注册组件以及方法
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import testUi from './package/index.js'
const app = createApp(App)app.config.globalProperties.EUtils = testUi.EUtils; //公共方法
console.log(testUi);
app.use(testUi.install)
app.mount('#app')
  1. 在app.vue 中使用组件进行测试
<template><eosBtn @testBtn="testBtn" />
</template><script setup>
import { getCurrentInstance, ref, defineComponent } from "vue";
const { proxy } = getCurrentInstance();
const testBtn = (val) => {console.log(proxy.EUtils.handleFirstUpperCase(val));
};
</script>

二、发布组件

  1. 设置包的名称,版本,导出路径等相关信息, 在package.json
{"name": "eos-tms-base","private": false,"version": "0.0.5","type": "module","files": ["dist/*","eos-tms-base.d.js"],"main": "dist/eos-tms-base.umd.js","module": "dist/eos-tms-base.es.js","scripts": {"dev": "vite","build": "vite build","preview": "vite preview"},"dependencies": {"vue": "^3.3.11"},"devDependencies": {"@vitejs/plugin-vue": "^4.5.2","vite": "^5.0.8"}
}
  1. 设置vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/   https://juejin.cn/post/7257144279050403896
export default defineConfig({plugins: [vue()],build: {rollupOptions: {// 请确保外部化那些你的库中不需要的依赖external: ['vue'],output: {// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量globals: {vue: 'Vue',},},},lib: {entry: 'src/package/index.js',name: 'eos-tms-base',fileName: (format) => `eos-tms-base.${format}.js`,},},
})
  1. 执行打包命令,打包发布:npm run build 打包后的文件
    image.png
  2. 接着就是登录npm, 执行命令 npm login , 没有账户的自行注册,上传失败的,检查npm 代理路径是否为官方的,如果是淘宝镜像需要自行切换到官方才可使用,包名是否已经在插件市场存在。

设置 npm 的 registry 为官方源 npm config set registry https://registry.npmjs.org

  1. 到npm 官网查看是否发布成功。

image.png

最后就是创建一个空项目,自己下载插件,进行引入,自测。
npm i eos-tms-base

image.png

http://www.yayakq.cn/news/602691/

相关文章:

  • 下载的网站模版怎么用网站建设开发计入什么会计科目
  • 大庆金思维科技网站开发平面设计欣赏网站推荐
  • 网站建设简单合同模板建筑工程行业网站建设方案
  • 哪些企业网站比较好宁波建设业协会网站
  • 绵阳做手机网站wordpress 重新初始化
  • 一个网站两个页面西乡城建局网站
  • 东莞住房和建设局网站北京网站优化技术
  • 建设部证书查询网站电子商务网站建设技术规范
  • 建设网站的目的服装类拼多多开网店的流程
  • 公司网站模板免费版aso优化哪家好
  • 如何做下载网站赚钱建设第三方公众号平台网站教程
  • 免费建站网站排名个人免费展示网站
  • 企业网站建设有哪些优势打车小程序源码
  • 网站建设实训的报告网站后台多个管理员
  • 自己建设网站赚钱iis添加网站无法访问
  • seo整站优化推广网站开发实现软硬件环境
  • 有没有专门做数据分析的网站wordpress数据库发布文章
  • 网站视频打不开什么原因网站免费注册
  • 政和网站建设三台网站建设哪家专业
  • 门户网站开发方案做一套品牌设计多少钱
  • 瑞安公司做网站浙江省城乡建设厅网站首页
  • 个人网站备案成功后换凡客下载
  • 网站建设公司与前端做设备推广的网站
  • 洛阳网站建设优化案例个人网站模板素材下载
  • 免费的api接口网站网络黄页推广软件下载
  • 听完米课做的网站新建站点步骤
  • 更改网站的布局专业邯郸做网站
  • 书w3school网站建设教程怎样建设公司的网站
  • 企业网站可以做商城类专业做毕业设计网站设计
  • 甘南网站建设去了哪找网站建设公司