国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何發(fā)布自己的npm包

這篇具有很好參考價值的文章主要介紹了如何發(fā)布自己的npm包。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

發(fā)布一個簡單的npm包

  1. 首先創(chuàng)建一個文件夾(唯一的命名)
  2. 創(chuàng)建package.json包,輸出npm init,一直回車就好。
  3. 創(chuàng)建index.js文件,向外暴露方法。

如何發(fā)布自己的npm包,npm,前端,node.js

將包上傳或更新到 npm?

執(zhí)行登錄命令:npm login
登錄npm官網(wǎng),根據(jù)提示輸入用戶名和密碼,郵箱(郵箱必須在注冊時進行驗證)

?發(fā)布版本,在登陸命令后接著輸入如下命令

npm publish

如何發(fā)布自己的npm包,npm,前端,node.js

?發(fā)布上傳后,你可以去 npm 官網(wǎng)上查一下自己的包有沒有存在。

?如何發(fā)布自己的npm包,npm,前端,node.js

?在項目中安裝你的包

npm i xxx -s,在main.js中引用

?如何發(fā)布自己的npm包,npm,前端,node.js

?在vue項目任何頁面使用

如何發(fā)布自己的npm包,npm,前端,node.js

?發(fā)布一個自己組件包

1、在項目中添加組件庫文件夾:

在根目錄下新建一個plugins文件夾,用來放組件,項目文件結構為:
?(我的是跟src平級 創(chuàng)建plugins組件文件夾)

如何發(fā)布自己的npm包,npm,前端,node.js

?2、添加配置文件

項目根目錄下面添加vue.config.js文件,寫入以下內(nèi)容:(主要是配置webpack的打包)

如何發(fā)布自己的npm包,npm,前端,node.js

?3、編寫組件

如何發(fā)布自己的npm包,npm,前端,node.js

把封裝的組件、封裝的指令和封裝的過濾器每個都寫在分類文件夾中,后面在合理添加并繼續(xù)封裝。下面我以datetime這個組件為例:(是一個時間顯示組件)

建組件date-time.vue和單獨暴露組件的index.js文件:

?date-time.vue內(nèi)容如下:

<template>
  <div class="date-time" :style="{ 'font-size': `${useStyleObj.fontSize}px` }">
    <p :style="styleObject">{{ nowDate }}</p>
    <p :style="styleObject">{{ nowTime }}</p>
  </div>
</template>
<script>
export default {
  name: "dateTime",
  props: {
    styleObj: {//客戶端傳遞的樣式
      type: Object,
      default: () => ({
        fontSize: 25,
        color: ["#dcedff", "#5ca9ff"]
      })
    }
  },
  computed: {
    useStyleObj() {//用computed是為了暴露客戶端的styleObj樣式屬性值可以選填,更加靈活
      let size = 25;
      let color = ["#dcedff", "#5ca9ff"];
      if (this.styleObj.fontSize) {
        size = this.styleObj.fontSize;
      }
      if (this.styleObj.color) {
        color = this.styleObj.color;
      }
      return {
        fontSize: size,
        color: color
      };
    },
    styleObject() {//根據(jù)客戶端傳遞的樣式值配置文字的漸變色
      return {
        background: `linear-gradient(180deg,${this.useStyleObj["color"][0]},
        ${
          this.useStyleObj.color.length > 1
            ? this.useStyleObj["color"][1]
            : this.useStyleObj["color"][0]
        })`,
        "-webkit-background-clip": "text"
      };
    }
  },
  data() {
    return {
      timer: null,
      nowWeek: "",
      nowDate: "",
      nowTime: ""
      //   styleBox: {}
    };
  },
  created() {
    this.timer = setInterval(() => {
      this.setNowTimes();
    }, 1000); //時間
  },
  beforeDestroy: function() {
    if (this.timer) {
      clearInterval(this.timer);
    }
  },
  methods: {
    setNowTimes() {//時間拼接方法
      const myDate = new Date();
      const wk = myDate.getDay();
      const yy = String(myDate.getFullYear());
      const mm = myDate.getMonth() + 1;
      const dd = String(
        myDate.getDate() < 10 ? `0${myDate.getDate()}` : myDate.getDate()
      );
      const hou = String(
        myDate.getHours() < 10 ? `0${myDate.getHours()}` : myDate.getHours()
      );
      const min = String(
        myDate.getMinutes() < 10
          ? `0${myDate.getMinutes()}`
          : myDate.getMinutes()
      );
      const sec = String(
        myDate.getSeconds() < 10
          ? `0${myDate.getSeconds()}`
          : myDate.getSeconds()
      );
      const weeks = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
      const week = weeks[wk];
      this.nowDate = `${yy}/${mm}/${dd} ${week}`;
      this.nowTime = `${hou}:${min}:${sec}`;
      this.nowWeek = week;
    }
  }
};
//樣式文件
</script>
<style lang="scss" scoped></style>

index.js文件內(nèi)容:為組件提供 install 方法,供組件對外按需引入

import dateTimes from "./date-time.vue";

dateTimes.install = Vue => Vue.component(dateTimes.name, dateTimes); //注冊組件

export default dateTimes;

這個單獨暴露組件的 index.js,意思是如果這個工程值封裝一個組件使用的話,就用這個index.js 文件暴露 install 即可了。?

plugins 文件夾下面新建一個 index.js 文件,為了統(tǒng)一導出所有組件及暴露 install 方法。之前的 index.js 只是安裝單個組件,而現(xiàn)在這個 index.js 是循環(huán)安裝所有組件、所有指令、過濾器統(tǒng)一暴露出去,可以按需引用組件,此時plugins文件夾的內(nèi)容為:
如何發(fā)布自己的npm包,npm,前端,node.js

?我這里是統(tǒng)一暴露組件、指令、過濾器:

//組件
import DateTime from "./components/dateTime/date-time.vue"

//所有組件列表
const components = [DateTime]


//定義install方法,Vue作為參數(shù)
const install = Vue => {
  //判斷是否安裝,安裝過就不用繼續(xù)執(zhí)行
  if (install.installed) return
  install.installed = true
  //遍歷注冊所有組件
  components.map(component => Vue.component(component.name, component))
}

//檢測到Vue再執(zhí)行
if (typeof window !== "undefined" && window.Vue) {
  install(window.Vue);
}
export default {
  install,
  //所有組件,必須具有install方法才能使用Vue.use()
  ...components
}

4、在本地頁面中使用組件

在main.js中引入

如何發(fā)布自己的npm包,npm,前端,node.js

?在頁面中不用引入使用使用組件,因為是全局注冊了組件庫,所以可以直接使用標簽,這個標簽與組件文件中的date-time.vue里的name保持一致,只不過一個是駝峰式寫法,一個是標簽名稱。

?如何發(fā)布自己的npm包,npm,前端,node.js

?如何發(fā)布自己的npm包,npm,前端,node.js

?測試可以全局使用組件,說明封裝的組件沒有問題,下面可以打包了。

5、打包

在package.json文件中的"scripts"字段里添加以下內(nèi)容:

"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lib": "vue-cli-service build --target lib --name 包名 -dest lib plugins/index.js",
    "lint": "vue-cli-service lint"
  },

因為在vue-cli中,可以通過以下命令將一個單獨的入口打包成庫

// target: 默認為構建應用,改為 lib 即可啟用構建庫模式
// name: 輸出文件名
// dest: 輸出目錄,默認為 dist,這里我們改為 lib
// entry: 入口文件路徑
vue-cli-service build --target lib --name lib [entry]

?package.json中配置打包信息:

如何發(fā)布自己的npm包,npm,前端,node.js

  • .gitignore文件中添加:
  • 把包的一些測試文件過濾掉,最終打包只留下直接封裝的文件,即plugins中封裝的暴露組件

?如何發(fā)布自己的npm包,npm,前端,node.js

?在終端執(zhí)行npm run lib 即可,執(zhí)行結果:

?如何發(fā)布自己的npm包,npm,前端,node.js

?6、發(fā)布包

如何發(fā)布自己的npm包,npm,前端,node.js

?7、使用包

npm i xgs_common -s
在項目文件mainjs中引入。

如何發(fā)布自己的npm包,npm,前端,node.js

在項目中直接使用組件中的name即可
例如:<date-time/>文章來源地址http://www.zghlxwxcb.cn/news/detail-625966.html

到了這里,關于如何發(fā)布自己的npm包的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 前端筆記10——Win7下node.js和npm版本兼容性問題解決。

    前端筆記10——Win7下node.js和npm版本兼容性問題解決。

    新版本node.js不支持WIN7。 Win7的電腦只能支持到Node v13.14.0。 可能之前裝了新版本的node,刪了重裝后,導致運行npm命令老是提醒信息,說是不支持node版本。 npm does not support Node.js v13.14.0 可是顯示版本正常 解決方法: 卸載node之后,在把npm和npm cache兩個文件夾刪掉。 刪干凈后再

    2024年02月15日
    瀏覽(40)
  • 如何升級npm 和 安裝nvm 及 升級node.js

    如何升級npm 和 安裝nvm 及 升級node.js

    1.NPM如何升級? ? 1.1.可以使用NPM自帶的命令進行升級: ?注:這個命令會安裝最新的,安裝到全局。 2.查看NPM版本 ? 注:要是版本過低,可使用上面所說命令進行升級。 3.怎么把node.js升級到最新版? ?3.1.這里使用nvm,nvm是node.js版本管理的工具。 ?3.2.要是沒有nvm,按如下步

    2024年02月07日
    瀏覽(28)
  • VScode運行npm錯誤解決:如何安裝與配置Node.js環(huán)境

    VScode運行npm錯誤解決:如何安裝與配置Node.js環(huán)境

    在VScode中遇到npm無法識別的錯誤時,可能是因為未安裝Node.js或環(huán)境變量配置不正確。

    2024年02月06日
    瀏覽(126)
  • 如何使用vite框架封裝一個js庫,并發(fā)布npm包

    如何使用vite框架封裝一個js庫,并發(fā)布npm包

    目錄 前言介紹 一、創(chuàng)建一個vite項目 1、使用創(chuàng)建命令: ?2、選擇others 3、?模板選擇library 4、選擇開發(fā)語言 ?編輯?二、安裝依賴 三、目錄介紹 1、vite.config.ts打包文件 2、package.json命令配置文件 三、發(fā)布npm 1、注冊npm賬號 2、設置npm源 3、登錄到npm 4、推送到npm倉庫 5、查看

    2024年01月25日
    瀏覽(22)
  • 【node.js】關于node.js,如何解決npm should be run outside of the Node.js REPL, in your normal shell報錯?

    【node.js】關于node.js,如何解決npm should be run outside of the Node.js REPL, in your normal shell報錯?

    前言,安裝node方式采用的是安裝包解壓的 報如下錯誤: npm should be run outside of the Node.js REPL, in your normal shell 在windows環(huán)境下安裝完node,其目錄結構下會有一個node.exe文件,運行該工具就相當于在cmd中執(zhí)行node命令,即進入node開發(fā)模式。 產(chǎn)生這個錯誤的原因是你將npm命令運行在

    2024年02月03日
    瀏覽(28)
  • 發(fā)布自己的npm包

    發(fā)布自己的npm包

    輸入npm init后,一路默認即可初始化成功,如下: 初始化成功后會生成一個package.json文件 n(以我的文件夾demo-npm-dir為例) package.json配置如下: 然后在index.js寫即可。 這里我設置發(fā)布到npm公有平臺,根據(jù)個人項目需要配置。 注:檢測npm源命令 沒有請先在官網(wǎng)注冊,登錄時會

    2024年02月10日
    瀏覽(18)
  • 發(fā)布自己的npm 包

    沒有賬號先注冊一個,注冊地址https://www.npmjs.com 之后npm 網(wǎng)站搜索包名就可以看到了

    2024年02月15日
    瀏覽(20)
  • 發(fā)布屬于自己的 npm 包

    發(fā)布屬于自己的 npm 包

    注意:輸入密碼的時候 不會顯示出來,輸入完整直接按回車即可

    2024年02月13日
    瀏覽(23)
  • 作為前端leader,如何搭建屬于我們公司自己的流水線自動化部署系統(tǒng)(node+express)

    背景:自動化部署系統(tǒng)主要可以集成到公司內(nèi)部的管理系統(tǒng)中去,比如公司有多個項目,移動端H5,大屏網(wǎng)站,門戶網(wǎng)站等...每次發(fā)布或者迭代都需要前端同事打包然后在交給運維或者后端同事放到服務器上進行部署 ,如果有一個項目多個同事合作完成 還要走git合并流程,

    2024年02月19日
    瀏覽(29)
  • 如何解決使用npm出現(xiàn)Cannot find module ‘XXX\node_modules\npm\bin\npm-cli.js’錯誤

    如何解決使用npm出現(xiàn)Cannot find module ‘XXX\node_modules\npm\bin\npm-cli.js’錯誤

    遇到問題:用npm下載組件時出現(xiàn) Cannot find module ‘D:softwarenode_modulesnpmbinnpm-cli.js’ 問題,導致下載組件不能完成。 解決方法:下載缺少的npm文件即可解決放到指定node_modules目錄下即可解決。 分析問題: 我們找到提示路徑去看發(fā)現(xiàn),在node_modules下沒有npm目錄 可以看到,存

    2024年02月12日
    瀏覽(173)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包