<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 基于vue腳手架構建庫并發布到npm

          2020-9-8    seo達人

          構建庫的常見方法有兩種:一種是自己手動構建webpack庫打包,設置output為 library; 另一種是基于vue-cli3輸出庫資源包。我們采用第二種vue腳手架的方式構建庫。


          新增編譯庫命令

          // package.json

          "scripts": {

             // ...

             "lib": "vue-cli-service build --target lib --name Step --dest dist packages/index.js"

          }


          // packages/index.js  默認打包Step

          import Step from '../steps/src/step';

          Step.install = function(Vue) {

             Vue.component(Step.name, Step);

          };

          export default Step;

          --name: 庫名稱。

          --target: 構建目標,默認為應用模式。這里修改為 lib 啟用庫模式。

          --dest: 輸出目錄,默認 dist。

          [entry]: 最后一個參數為入口文件,默認為 src/App.vue。

          更多詳細配置查看 ? vue腳手架官網


          如果該庫依賴于其他庫,請在vue.config.js 配置 externals

          // vue.config.js

          module.exports = {

             configureWebpack:{

               externals: {

                  vue: 'Vue',

                  'vue-router':'VueRouter',

                  axios: 'axios'

               }

             }

          }

          執行 npm run lib 就可以發現我們的庫被打包到了 根目錄的dist文件夾下。


          添加 .npmignore 文件(可選)

          和 .gitignore 的語法一樣,具體需要提交什么文件,看各自的實際情況


          # 忽略目錄

          examples/

          packages/

          public/


          # 忽略指定文件

          vue.config.js

          babel.config.js

          *.map

          配置npm庫信息

          配置package.json文件,以發布庫文件。


          {

           "name": "gis",

           "version": "1.2.5",

           "description": "基于 Vue 的庫文件",

           "main": "dist/gis.umd.min.js",

           "keyword": "vue gis",

           "private": false,

            "files": ["dist"],

           "license": "MIT"

          }

          name: 包名,該名字是唯一的。可在 npm 官網搜索名字,如果存在則需換個名字。

          version: 版本號,每次發布至 npm 需要修改版本號,不能和歷史版本號相同。

          description: 描述。

          main: 入口文件,該字段需指向我們最終編譯后的包文件。

          keyword:關鍵字,以空格分離希望用戶最終搜索的詞。

          author:作者

          files: 要上傳的文件

          private:是否私有,需要修改為 false 才能發布到 npm

          license: 開源協議

          dependencies: 依賴庫

          注意每次發布新的庫,需要更改版本號,規則如下:

          "version": "1.2.5" 主版本號為 1,次版本號 2,修訂號 5

          主版本號(Major):當你做了不兼容的API修改

          次版本號(Minor):當你做了向下兼容的功能性新增

          修訂號(Patch):當你做了向下兼容的問題修正

          登錄npm

          首先設置登錄的npm鏡像地址


          npm config set registry http://168.20.20.57.4873

          然后在終端執行登錄命令,輸入用戶名、密碼、郵箱即可登錄


          npm login

          接著發布庫資源到npm


          npm publish

          最后發布成功可到官網查看對應的包并下載


          npm install package_name

          藍藍設計m.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          色婷婷久久综合中文久久蜜桃av| 青青草原综合久久大伊人导航 | 一本综合久久国产二区| 久久婷婷五月综合97色一本一本| 99久久免费国产特黄| 一级做a爰片久久毛片毛片| 亚洲国产精品无码久久一区二区| 久久人人爽人爽人人爽av| 国产精品久久波多野结衣| 欧美亚洲日本久久精品| 99久久99久久久精品齐齐| 久久伊人五月丁香狠狠色| 精品人妻伦九区久久AAA片69| 伊人久久大香线蕉av一区| 亚洲?V乱码久久精品蜜桃| 久久噜噜电影你懂的| 国产精品禁18久久久夂久| 一本久久知道综合久久| 久久精品国产99久久久香蕉| 国内精品久久久久影院网站| 久久亚洲美女精品国产精品| 亚洲国产香蕉人人爽成AV片久久 | 亚洲人成网站999久久久综合| 久久亚洲欧美国产精品| 免费久久人人爽人人爽av| 热综合一本伊人久久精品| 精品无码久久久久久久久久| 久久久久久狠狠丁香| 久久综合狠狠综合久久激情 | 久久国产成人精品麻豆| 久久精品国产色蜜蜜麻豆| 99国产精品久久久久久久成人热| 久久精品黄AA片一区二区三区| 国产精品久久国产精麻豆99网站 | 久久久久国产精品嫩草影院| 亚洲国产精品一区二区久久| 日本久久久久久中文字幕| 成人亚洲欧美久久久久| 久久久久99精品成人片三人毛片 | 亚洲精品午夜国产va久久| 亚洲欧美日韩中文久久|