时间:2021-05-26
本文我们将学习如何制作一个vue插件,并将其分发到npm上,能够让其他人安装使用.
插件大大地提高了开发者的开发效率。我们的大多数项目都依赖于它们,因为它们能够以极快的速度发布新功能。
正如官方Vue.js文档中所述,插件的范围没有限制。通常我们想实现的功能有下面5种:
OK,现在你了解了vue插件是什么了,以及它可以满足哪些需求!
如何在vue项目中使用插件
通过npm install或yarn add安装插件后,你需要在main.js文件中导入它并调用Vue.use()全局方法。
注意:在new Vue() 前,必须先实例化所有插件.
如果插件包支持cdn方式引用的话,也可以通过以下方式引用:
<script src="https://cdn.xxx.cn/npm/myplugin@latest/dist/myplugin.min.js"></script>另外,在你调用Vue.use()时,想对插件做一些自定义配置,你可以这么做:
Vue.use(MyPlugin, { option1: false, option2: true})举个例子,比如在引入热门的Element UI库时,它支持传入一个全局配置对象
import Element from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(Element, { // size 用于改变组件的默认尺寸,zIndex 设置弹框的初始 z-index(默认值:2000) size: 'small', zIndex: 3000});现在让我们进入正题!开始构建你的第一个vue插件💪
来制作一个酷炫的按钮组件
作为一个有追求的前端,相信你们在公司开发项目时,肯定会想过,"要是公司有属于自己的一套UI组件库,那肯定很棒!"。
如果你有这个想法,那你认真看完这篇文章后,将会给你带来很多灵感和启发。
步骤 1:初始化插件目录结构
先创建一个空的项目文件夹,名字随意取,然后初始化生成package.json文件(文件的内容后面会介绍)
$ mkdir ku-button && cd ku-button$ npm init# 上面这个命令会提示一些问题,一直回车就行,然后最后会创建一个package.json文件然后在项目根目录中创建一个src文件夹,里面新建一个KuButton.vue组件,这里你甚至可以通过vue的vue serve和vue build命令行来对单个*.vue文件进行快速原型开发,不过前提需要先额外安装一个全局的扩展
$ npm install -g @vue/cli$ npm install -g @vue/cli-service-global安装完成后,当你成功执行以下命令行后:
$ vue serve KuButton.vue就可以直接在浏览器访问 http://localhost:8080/
更多关于vue快速原型开发的知识,你可以查看官方文档
下面,我们开始完善Button按钮组件的代码,让它跑起来!
步骤 2: 完善组件代码,让按钮可配置化
这里我将模仿ElementUI库的Button组件,给大家揭晓它的奇妙之处!
模板 Template
JavaScript
样式 Style
后续我们就可以像这样使用:
<ku-button type="success" size="mini" round>小按钮</ku-button>
虽然我将按钮模板进行了简化,但这里有几个学习点很重要:
步骤 3: 写一个Install方法
文章前面提到了Vue.use()方法,调用时它将会执行install方法,这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象。
下面,我们在src中创建一个index.js文件,然后再里面写:
import KuButton from "./KuButton.vue"export default { install(Vue, options) { // 注册全局组件 // https://cn.vuejs.org/v2/guide/components-registration.html Vue.component("ku-button", KuButton) }}到这里,一个完整的插件就差不多啦! 👏
步骤 4: 完善根目录的package.json文件
打开刚刚npm init创建的package.json文件
{ "private": false, "name": "ku-button", "version": "1.0.0", "description": "A niubility button", "author": "sugars", "license": "MIT", "main": "./dist/index.umd.js", "scripts": { "dev": "vue serve KuButton.vue" }, "files": [ "dist" ], "devDependencies": { "bili": "^4.7.3", "rollup-plugin-vue": "^5.0.0", "vue-template-compiler": "^2.6.10" }}说明:
你可以在npm官方文档查看更多关于package.json的知识
打包
打包工具这里我使用的是Bili,一个强大的速度快,零配置的打包工具。
开始安装打包工具:
$ npm install --save-dev bili$ npm install --save-dev rollup-plugin-vue$ npm install --save-dev vue-template-compiler然后在项目根目录下创建一个bili.config.js配置文件,配置如下:
module.exports = { banner: true, output: { extractCSS: false, format: ['umd'], moduleName: 'KuButton' }, plugins: { vue: true }}完成后,你只需要执行一个命令就打包完成,就这么简单:
$ bili打包成功后,在项目根目录下会生成一个dist文件夹,里面有个index.umd.js文件
在npm上分享你的成果
到这里,你的vue插件就开发完成了。剩下最后一步,就是在npmjs上发布你的插件!
但前提是你需要有一个npmjs账号,如果没有的话需要去注册一个,有的话可以跳过这一步。
打开终端,输入:
$ npm login // 回车后,输入你注册npmjs时填写的用户名,密码和邮箱// 登录成功后,会提示:Logged in as <username> on https://registry.npmjs.org/.查看当前npm用户登录情况:
$ npm whoami// 如果登录成功,输出的是登录的用户名检查以上步骤都没问题后,进入刚刚完成的ku-button项目目录,开始发布:
$ npm publish执行成功后,你的插件就正式发布成功了!!🎉
后续如果要更新插件,只需要增加package.json里的version版本号,然后再次执行npm publish发布更新就可以了!
项目中使用刚发布的插件
你可以像安装其他插件一样:
$ npm install --save ku-button或者
接着,在main.js引用:
import KuButton from "ku-button"import Vue from "vue"Vue.use(KuButton)最后,在你的页面中这样:
<ku-button round type="success" size="small">真酷!!</ku-button>附上 Github地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如果是简单实用vue的话,可以直接引用js文件。https://vuejs.org/js/vue.js但是在构建大型项目的时候推荐使用NPM安装,NPM能够很好
一、npm版本需要大于3.0,如果低于此版本需要升级它:#查看版本$npm-v2.3.0#升级npmcnpminstallnpm-g二、在用Vue.js构建大型
什么是Vue.js?Vue.js是用于构建交互式的Web界面的库。Vue.js提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。Vue.js
什么是Vue.js?Vue.js是用于构建交互式的Web界面的库。Vue.js提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。Vue.js
现在来系统地学习一下Vue(参考vue.js官方文档):Vue.js是一个构建数据驱动的web界面的库,其目标是实现响应的数据绑定和组合的试图组件。Vue.js