vue封裝組件打包發(fā)布到npm

一、自定義組件

例子:當(dāng)前時間組件

  <div class="current-date-time" :class="{'current-line-feed':lineFeed}">
    <!-- 日期 -->
    <span class="curent-date" v-if="showDate">{{date}}</span>
    <!-- 時間 -->
    <span class="curent-time" v-if="showTime">{{time}}</span>
    <!-- 周 -->
    <span class="curent-week" v-if="showWeek">{{weekday}}</span>
    <!-- 插槽 -->
    <slot></slot>
  </div>
  • slot保留后期可能使用

    驗(yàn)證能否正常使用:

二、創(chuàng)建install函數(shù)

新建cc-current-time文件夾,文件夾下新建index.js文件

import currentTime from '../components/currentTime.vue'
// vue插件模式需要暴露install方法
// vue.user
const install =(Vue)=>{
  Vue.component(currentTime.name,currentTime)
}
export default install

引入組件,在使用Vue.use的時候就是去執(zhí)行Vue.component,component包含兩個參數(shù)(name,Object),
封裝組件的時候可以直接使用組件定義的名稱,引入的組件就直接作為第二次參數(shù)實(shí)例。

目錄

三、打包組件

1、在pagage.json配置打包路徑
常用打包指令:npm run bilid

-- target lib 關(guān)鍵字打包的路徑
-- name 打包后的文件名稱
-- dest 打包后文件夾名稱


打包指令

指令名稱:命令 -- target lib 打包路徑 --dest 打包后文件夾名 --name 打包后文件名稱

2、打包
npm run current-time

生成文件夾

common:必須要使用require引入才能使用
umd:所有的模塊化都支持
min:格式化后去掉空格及注釋,壓縮過后
使用umd.min版本就可以了

四、提交文件夾構(gòu)建

1、任意目錄新建需要上傳的文件夾


例:在根目錄下新建webpack文件夾,新建打包組件的文件,存放打包后的umd.min.js文件和css文件
2、初始化package.json
current-time文件終端初始化npm init -y

  • 如果js名稱過長可手動修改,并重新指定路徑

    keywords:關(guān)鍵字
    author:作者

五、npm上注冊或者登錄

六、發(fā)布到npm

1、查看所在的是不是npm源
nrm ls
如果沒有安裝nrmnpm install nrm -g ,切換到npm鏡像上 nrm use npm
2、發(fā)射文件路徑打開終端
npm login登錄


輸入用戶名\密碼\郵箱(輸入密碼時光標(biāo)不會動)
npm publish發(fā)射

  • 發(fā)射需要一定的時間才會上傳成功,可在npm官網(wǎng)刷新查看是否成功

注意:名字可能重復(fù),如果重復(fù)則修改package.json文件中的名稱即可


  • 上傳成功后可查看


七、驗(yàn)證是否可以npm使用

npm i cc-current-time
mian.js文件引入


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容