最近項目須要無狀態的純組件,因此咱們把組件封裝了一下,再製做成了插件,直接引用,把製做插件心得總結寫了下來分享出來,讓你們能夠從零開始製做本身的插件。vue
安裝node及npm,以後新建一個文件夾,在終端中打開,執行命令npm init,一路回車而後輸入yes便可,生成一個package.json, { "name": "swTest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
,其中name就是插件的名稱,默認是文件夾名字;version爲版本號,注意每次發佈新版本的時候須要手動更新版本號;description是描述;main是入口文件,加載這個插件時讀的文件,這個也是最重要的屬性,這個屬性是別人引用你的插件時,讀取的入口文件,在這個文件裏,須要你向外暴露接口;author是做者,能夠是npm註冊的名字。node
在根目錄下新建src文件夾,裏面存放的就是本身的代碼片斷。react
在根目錄下新建個 .npmignore(注意要有個.),裏面就是npm在發佈時會忽略項目中的文件。git
在根目錄下新建README.md,裏面是發佈到npm時項目介紹。github
由於不少語法都是ES6及以上,因此須要轉義成ES5。npm
npm install -g babel-cli
npm install babel-preset-es2015 --save-dev
npm install babel-preset-react --save-dev
npm install babel-preset-stage-0 --save-dev
(0 - 3均可以){ "presets": [ "es2015", "react", "stage-2" ], "plugins": [] }
。vue的戳這裏babel src --out-dir lib
,獲得lib文件夾,就是src轉義以後的文件了。lib/index
。src/ node_modules/ package-lock.json
https://www.npmjs.com/
;npm adduser
,輸入npm的帳號密碼還有郵箱,缺一不可。(注:若是已有賬號,則輸入npm login
登陸,帳號密碼還有郵箱,也是缺一不可,若是報錯code E409
,是由於使用的淘寶npm,致使登陸失誤,由於登陸的是淘寶的npm 倉庫源,淘寶應該不會給你提供登陸服務把npm registry換成官方的就能夠了,運行代碼:nrm use npm
,若是報錯,是由於沒有安裝nrm,運行代代碼npm install -g nrm
安裝nrm再執行代碼:nrm use npm
便可);npm whoami
查看當前用戶是不是本身;npm publish
進行發佈;npm install xxx --save-dev
進行使用啦;babel src --out-dir lib
獲得最新的lib,再執行npm publish
進行發佈;npm install --force
就能夠了;(2)若是是yarn,運行yarn upgrade
也ok;(3)因爲項目中的依賴包會發生更新,因此有時候咱們會安裝第三方插件進行查看,npm install -g npm-check-updates
,運行ncu
查看可更新包,ncu -u
更新package.json,npm install
升級到最新版本便可。再來點乾貨,安裝插件時,--save-dev是你開發時候依賴的東西,--save是你發佈以後依賴的東西。-g表示全局安裝,--save-dev 能夠簡寫爲 -D ,--save 能夠簡寫爲 -S ,npm install 能夠簡寫爲 npm i。json
代碼已經傳上github,github地址,歡迎你們訪問 (地址:https://github.com/Songwei1029/create-plug
),有問題歡迎留言。babel