-
新建一个基础项目
├─src
│ └─index.js
├─.gitignore
├─package.json
└─README.md
例子:
-
编写index.js
const fs = require('fs')
const path = require('path')
const {generateVersion, writeVersion, getCurrentVersion} = require("./assets/js/util");
class YdVersionWebpackPlugin {
// 构造函数接受配置参数
constructor (options) {
this.options = options
}
apply (compiler) {
compiler.hooks.environment.tap('YdVersionWebpackPlugin',
compilation => {
。。。
})
}
}
module.exports = YdVersionWebpackPlugin
- 编写配置 package.json
name:决定用户下载你的插件时用的名称,不可与 npm 上已有的第三方包重名,否则无法发布;
main:插件主文件入口,Webpack 引入插件时,就从该目录导入;
version:每次更新发布时,需要与上一版本的版本号不一样,否则上传不成功;
repository:如果你的插件代码放在 github、gitee 等网站,可以填一下;
private:不能设置为 true,否则无法发布;
{
"name": "插件名称",
"version": "0.0.4",
"description": "解释",
"main": "./src/index.js",
"scripts": {
},
"author": "作者",
"license": "MIT",
"private": false,
"repository": {
"type": "git",
"url": "仓库地址"
}
}
- npm上传
登录npm账号
npm login
验证是否登录成功
npm whoami
上传插件
npm publish