Vue 封装自定义组件,通过npm install的方式安装使用
1、新创建一个空的项目
-
npm install -g @vue/cli 安装脚手架4的版本
-
vue create vue-demo 使用安装的脚手架创建一个新的vue项目
-
npm run serve 运行创建的项目命令
2、在src下创建一个package文件夹用于存放自己的自定义组件,我创建了一个测试文件夹(mapuse),下面创建了一个mapuse.vue文件,文件内容如下:
注意: 自己封装的组件里面一定要有name属性,为后期install node包后 在页面使用的组件名
-
<template>
-
<div>
-
{{ test }}---{{ name }}
-
</div>
-
</template>
-
<script>
-
export default {
-
name: 'mapuse',
-
data () {
-
return {
-
test: '123'
-
}
-
},
-
props: {
-
name: {
-
type: String,
-
default: ''
-
}
-
}
-
}
-
</script>
3、在package文件夹下创建一个index.js文件,内容如下:
require.context('../package', true, /\.vue$/)路径是在此文件中找到对应的vue文件的路径
-
const requireAll = require.context('../package', true, /\.vue$/)
-
export const install = ((Vue) => {
-
requireAll.keys().map(fileName => requireAll(fileName)).forEach(({ default: curComp }) => {
-
Vue.component(curComp.name, curComp)
-
})
-
})
-
// 这个方法以后再使用的时候可以被use调用
-
export default install
4、修改项目根目录下package.json,增加一句打包代码:
"package": "vue-cli-service build --target lib ./src/package/index.js --name mapuse --dest mapuse"
-
"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 mapuse --dest mapuse"
-
},
打包命令解释:
--target lib 关键字 指定打包的目录
--name 打包后的文件名字
--dest 打包后的文件夹的名称
然后执行打包命令:
npm run package
打包执行完成后我们项目目录下就会多出一个mapuse文件夹,存放的是打包后的文件。
5、想要发布到npm仓库,我们还得在文件夹下初始化一个package.json文件。
在mapuse目录下,执行命令:
npm init -y
会生成一个package.json的文件
注意: package.json文件中的name里面不能有大写!!!
6、发布到npm仓库
1)注册账号
想要发布到npm仓库,就必须要有一个账号,先去npm官网(npm)注册一个账号,注意记住用户名、密码和邮箱,发布的时候会用到。
(2)设置npm源
有些小伙伴可能本地的npm镜像源采用的是淘宝镜像源或者其它的,如果想要发布npm包,我们得吧我们得npm源切换为官方得源,命令如下:
npm config set registry=https://registry.npmjs.org
(3)添加npm用户
进入common-package-ui目录,添加npm用户,执行命令:
npm adduser
这里会让你填写用户名、密码(不会显示出来 就正常输入后enter就行)、邮箱,然后会收到一封邮件,邮件里面有个临时验证码 需要输入,如果之前设置过即可跳过此步。
(4)发布npm
在mapuse目录下执行命令:
npm publish
如果发布失败可在百度搜索失败code码,一般都是名字重复或者名字不合格
7、使用
在另外一个项目中进行安装
npm install 插件名称(package.json中的名称)
然后在main.js引用注册,代码如下:
-
import mapuse from 'mapuse'
-
Vue.use(mapuse)
新建一个空的vue文件使用此插件
<插件名称></插件名称>
完成!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgafech
-
vite elementplus按需引入Failed to resolve import “element-plus/es“ from “xxx.vue“ Does the file exist?
-
docker部署nexus并创建发布npm包
-
流水线vue代码打包npm ERR! missing script: build报错
-
使用nvm安装node报错,Could not retrieve httphotoshop://nodejs.org/dist/latest/SHASUMS256.txt. Get “httphotoshop://nodej
-
npm ERR! ERESOLVE could not resolve
-
windows安装cnpm
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24