npm包发布过程

在上一章节中,我封装了一个基于react的树状组件,后来想把它发布到npm上,下面主要介绍一下发布过程中遇到的问题:

1、去注册npm账号,注册地址(https://www.npmjs.com), 再登录 npm login输入账号密码

2、发布前需要先打包,不能直接发布react的组件源码

babel src --out-dir lib --copy-files

如果用到less还需要编译为css

lessc src/components/Tree.less src/components/tree.css

3、配置你的package.json,注意name是不能和npm库里面已有的重复,main是你的入口文件

{
  "name": "react-tree-component-select",
  "version": "1.0.2",
  "description": "A Tree Component For React",
  "main": "lib/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack-dev-server --config webpack.dev.conf.js",
    "build": "webpack --config webpack.conf.js",
    "publish": "lessc src/components/Tree.less src/components/tree.css && babel src --out-dir lib --copy-files"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/marhovey/react-tree.git"
  },
  "keywords": [
    "react",
    "react-tree",
    "tree",
    "component"
  ],
  "author": "marhovey",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/marhovey/react-tree/issues"
  },
  "homepage": "https://github.com/marhovey/react-tree#readme",
  "devDependencies": {
    "@babel/cli": "^7.4.3",
    "@babel/core": "^7.4.3",
    "@babel/preset-env": "^7.4.3",
    "@babel/preset-es2015": "^7.0.0-beta.53",
    "@babel/preset-react": "^7.0.0",
    "@babel/preset-stage-0": "^7.0.0",
    "@babel/runtime": "^7.4.3",
    "autoprefixer": "^9.5.1",
    "babel-loader": "^8.0.5",
    "css-loader": "^2.1.1",
    "file-loader": "^3.0.1",
    "html-webpack-plugin": "^3.2.0",
    "less": "^3.9.0",
    "less-loader": "^4.1.0",
    "mini-css-extract-plugin": "^0.6.0",
    "open-browser-webpack-plugin": "0.0.5",
    "postcss": "^7.0.14",
    "postcss-loader": "^3.0.0",
    "style-loader": "^0.23.1",
    "transfer-webpack-plugin": "^0.1.4",
    "url-loader": "^1.1.2",
    "webpack": "^4.30.0",
    "webpack-cli": "^3.3.1",
    "webpack-dev-server": "^3.3.1"
  },
  "dependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6"
  }
}

4、打包以后就可以执行npm publish发布了。

5、发布成功以后使用npm i react-tree-component-select,在项目中import验证,

6、更新版本也是执行npm publish版本号需要修改

react-tree-component-select项目github地址    

猜你喜欢

转载自www.cnblogs.com/marvey/p/10796451.html