最近项目须要无状态的纯组件,因此咱们把组件封装了一下,再制做成了插件,直接引用,把制做插件心得总结写了下来分享出来,让你们能够从零开始制做本身的插件。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