{"_id":"01-custom-library-npm","_rev":"3-1ad8a305828636560ca4370dea90739b","name":"01-custom-library-npm","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"01-custom-library-npm","version":"1.0.0","description":"","main":"dist/webpack-numbers.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.js"},"keywords":[],"author":"","license":"ISC","devDependencies":{"lodash":"^4.17.21","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"01-custom-library-npm@1.0.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-9FxZZUViWvkQdb+NHxyxYyF9T6vuepm4LL3s2DvKh9qdEXDOkCN6tQ80o3i1B1TpKlczJ1Cr97ckNf9oAjfzgQ==","shasum":"1578c678a02c5718a201a12118a8413e0f68a61d","tarball":"https://registry.npmjs.org/01-custom-library-npm/-/01-custom-library-npm-1.0.0.tgz","fileCount":5,"unpackedSize":570023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHDr5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4xg/+O0k0GDzOopKh3PEql5jJhDNy7RnRoDDap3gLRe2t+ELla/cy\r\nAUYhHxLW6WFMN9A4ZMIZvWgonx8l2a0Q76Hdklbi4PW8I5kHKnTz2THEu0z+\r\n6uc6ebnm17XSTvKWr6mBCEj6LQ3ehWp45fV019D3FQPLuzx9GvxVJjiaZ8y3\r\ndYOuDMHA2stNxMzysyV3NttMNVMmZyDgO2MrJLHMOxWr77vbjKgJXDcNChHF\r\npjZ/TVZeM01BRIei6vvNg+WBCO+IbTWbV7UGi6mLHfedrn+TtE/2/bGniibs\r\n0ZXwPWPrxNBJlXGd/qmFZpjjZbPGugKqnVpJuk5CsGrQJqxTInDBMVpF4rsa\r\njNIdT0U6+1MPUUQnhJUe7q/MqznDoKJXZbI7VG2DjQeRNHKu7P4kLs6qSXWb\r\naF62F5HT5Rk3j5sUzHzr+tWjB2GkKTMBAjavux9tk9gtTbixpQJ7LWRgjcUt\r\nmGAGmRdV6JfvqOg+12wO+ldkPR8Tuqb+OfUxTR3LbKMAmkZwUeyyFrA46JXg\r\ncMLKrFI02YvHWPMgORaeWhGxI0HkqALwSrQhNBKQtIO9ww+H1/G+clLD5J+t\r\nh46AdsxHgOFsv94iXKC7KLg2i9iveedGSRbUidlmgZ6Ia2vje8ef7WxyZfWg\r\nI9Xlckw86BOkIaDiXgW4yBveFM9OPMn9bcY=\r\n=+4zI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHBN0yeMXTGkdPmmP0WTvPppAPvOZROWCxtF5D67FP2AAiEAqMcoWwtqNpPkGsnehojLVN2XsPE3IkVMja7p88PKb6k="}]},"_npmUser":{"name":"lyy_2021","email":"2027388406@qq.com"},"directories":{},"maintainers":[{"name":"lyy_2021","email":"2027388406@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/01-custom-library-npm_1.0.0_1646017273575_0.9731735149420657"},"_hasShrinkwrap":false},"1.0.1":{"name":"01-custom-library-npm","version":"1.0.1","description":"```js\r npm i webpack webpack-cli lodash -D\r ```\r #### 2）配置webpack\r * 将项目中使用lodash也打包进项目中，增大了项目的体积（不推荐）\r ```js\r // webpack.config.js\r const path = require('path')","main":"dist/webpack-numbers.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.js"},"keywords":[],"author":"","license":"ISC","devDependencies":{"lodash":"^4.17.21","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"01-custom-library-npm@1.0.1","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-gbxt6O/RbvOgStrxo5o0T3eFuQd+eLyqDObCByFtXFobtXsdOOmk0TMxXvpJhvd9XA81VzPUBnAI0hoQFMyeZw==","shasum":"510b1c4e7ecf09198e34e187e2cd8e842419e068","tarball":"https://registry.npmjs.org/01-custom-library-npm/-/01-custom-library-npm-1.0.1.tgz","fileCount":6,"unpackedSize":10114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHD/2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYZhAAmdwbKW0QRkE2sPTNZydmedSld5l2rCdHBs8L+kV/zPjawcxU\r\niDIFy1O6A354mstyVpp+JRpZb3F7ZHXJ8lZd9sNObnhhQlnV/4Y8cRHLTndE\r\nR35uGBqrCM9cp4OmIcwlTIwY1EV8lQrub/8oG9ohelxx2NWpJvo3nZ0zM+AP\r\nuj3Dwa+v1xpRb4MxCahK7pNIpYdKPZEldyaO3HSxkBP6CL5J7MgwcioIvHBp\r\n2cfIBF7GJEbAzDbwRz6VplsSxp3WmJrnBGOwmCbu/9N5KZ/PwcH2jTWwR3wN\r\nciD2JZg6GBd3JHFr4l2YYb7R3ayr3qsTwo/8ifnFDC0mp3N9j/vxEQrzlApM\r\n/VdSjqEbk6CEA46aBfcdNVcAd8WjfPAUT68sOTuI+l7bD6waNYkWcdZp/MC/\r\nsGbZKbXWfgL1dLxRv9sV7g1Hk6Qgff0TkgIm9Y5fEHkXMdfqPQoym3xJ4YZk\r\n7VrwR8zO3l+Ou4Sv8KllTEIyKdjsoPApPET+RAbAvB7aGDjIu9PRLOX2sZua\r\nb2FQlJvR1yqdZeTxQaxp+ReHoHFehDwj1uWCmFoCmdllgc2msmYnd0YxiZgw\r\nWsugkIQPFIAH3wBOy4XSIYZ1ingX9L6g0N8MQ+fWSMdZSndOyojeNFYPCHZU\r\nLdKSHYc/qRkx5rksTKEUhMFavEFRwhS9hGw=\r\n=+MUI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeZmGRyC4wm5PrEcBVYIk4QEL8YvD8NDiQcX6WVESAdAIhALdv2nBYqzLXvoptVcS8Lp/COLZ4K3bkl8IREg0zBnTg"}]},"_npmUser":{"name":"lyy_2021","email":"2027388406@qq.com"},"directories":{},"maintainers":[{"name":"lyy_2021","email":"2027388406@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/01-custom-library-npm_1.0.1_1646018550536_0.7153722953107318"},"_hasShrinkwrap":false},"1.0.2":{"name":"01-custom-library-npm","version":"1.0.2","description":"```js\r npm init -y\r npm i webpack webpack-cli lodash -D\r ```\r #### 2）配置webpack\r * 将项目中使用lodash也打包进项目中，增大了项目的体积（不推荐）\r ```js\r // webpack.config.js\r const path = require('path')","main":"dist/webpack-numbers.js","module":"dist/esm/webpack-numbers.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.js"},"keywords":[],"author":"","license":"ISC","devDependencies":{"lodash":"^4.17.21","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"01-custom-library-npm@1.0.2","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-0mJaR7yC5I801/ZjqFtRRaX+p0OGzuo84yrZL/zmiGX8FOAHcv9dRzkG9udRr6f0+qy2HP7Fyc6vfJeILWLs+Q==","shasum":"c03fc00a2276c29a9cfb0dcbfb990ccc99a2b034","tarball":"https://registry.npmjs.org/01-custom-library-npm/-/01-custom-library-npm-1.0.2.tgz","fileCount":11,"unpackedSize":80011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHHcEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeQg//RmWMgTNl7mNCOvVfjLX1Twdv30Lqz10kqgbUhBd2iT59RKeS\r\nc7/L1mRI2b6NaVqM3zDXnsRo6Tm5tA3LCb+Wr+8YlGeFVI2ySeaCdqT4N/KK\r\n2C/ka3CIJH739w/PWK9e9hPck7OPjneJ3LUryU8vO/nhihCRZlnrcGfj/I/R\r\n+E9WZH39A7wJOZ4IC+LuELjASxXsj2fq7Q0K2ZzQ/MqB5Ra4VxIFDUzySebg\r\nHMZ1Y5dSNtLD7hmPht7uhD4oZP4SN2vy635Im9E74fw4Bg13Igau+3ZIYIzE\r\ncmYA70XfWehcyOdQp1LVubfSyM0AQh0cJcdczxUaKN1ZS+2gVp3Tq3W8k/br\r\nm9xmgprwIfs/YuPYwM83WwxkdosPC8KR0ncg07mNHReOm5GBRAxz3mT3pE+/\r\nRNE98Et53CKjvwNZ/FATvxNfeJC9SG93jZR8rZUBTxcVb3FUji4NhdIKi0l1\r\nUVdaXmlf/xIWd4pS3EQx33RklWkIzh3EpICCIp1najD+tfEzrqZq/o5q6vz3\r\n4vBT8UL2VbVgm5MLpMmwjU0I1zYjvgRgyMRFAQZHH8S8W8eOKPAiNp48GLlf\r\nkRMOUta1jueOtEMA+9h4beoIQnne7FVCsKD9FQ3a7AHnX7T8dQbm19totSiQ\r\nEhaW1Nf657lwJq4P0VCKo524+m2l8do7hL8=\r\n=+OIQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbZZqnC5HcB9A5Hj34zzmHXp6N4l79NLK5inOQofh7fAiBQL1R5Pkz/llAAg7q7/JyauHOUNn9lQwThmYWwPyA2UQ=="}]},"_npmUser":{"name":"lyy_2021","email":"2027388406@qq.com"},"directories":{},"maintainers":[{"name":"lyy_2021","email":"2027388406@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/01-custom-library-npm_1.0.2_1646032644159_0.17104485818717952"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-28T03:01:13.575Z","1.0.0":"2022-02-28T03:01:13.733Z","modified":"2022-04-04T10:06:25.309Z","1.0.1":"2022-02-28T03:22:30.685Z","1.0.2":"2022-02-28T07:17:24.301Z"},"maintainers":[{"name":"lyy_2021","email":"2027388406@qq.com"}],"keywords":[],"license":"ISC","readme":"## 1、项目搭建\r\n#### 1）项目初始化安装依赖\r\n```js\r\nnpm init -y\r\nnpm i webpack webpack-cli lodash -D\r\n```\r\n#### 2）配置webpack\r\n* 将项目中使用lodash也打包进项目中，增大了项目的体积（不推荐）\r\n```js\r\n// webpack.config.js\r\nconst path = require('path')\r\n\r\nmodule.exports = {\r\n  mode: 'development',\r\n  entry: './src/index.js',\r\n  output: {\r\n    path: path.resolve(__dirname, 'dist'),\r\n    clean: true,\r\n    filename: 'webpack-numbers.js',\r\n    library: {\r\n      // library 向外暴露的对象名\r\n      name: 'webpackNumbers',\r\n      // 兼容不同的环境 CommonJS、AMD、Node.js 等\r\n      type: 'umd',\r\n    },\r\n  },\r\n}\r\n```\r\n* 将lodash等第三方包外部化，由用户安装（推荐）\r\n```js\r\nconst path = require('path')\r\n\r\nmodule.exports = {\r\n  mode: 'development',\r\n  entry: './src/index.js',\r\n  output: {\r\n    path: path.resolve(__dirname, 'dist'),\r\n    clean: true,\r\n    filename: 'webpack-numbers.js',\r\n    library: {\r\n      // library 向外暴露的对象名\r\n      name: 'webpackNumbers',\r\n      // 兼容不同的环境 CommonJS、AMD、Node.js 等\r\n      type: 'umd',\r\n    },\r\n  },\r\n\r\n  // 外部扩展：https://webpack.docschina.org/configuration/externals/#externals\r\n  externals: {\r\n    lodash: {\r\n      commonjs: 'lodash',\r\n      commonjs2: 'lodash',\r\n      amd: 'lodash',\r\n      root: '_',\r\n    },\r\n  },\r\n}\r\n```\r\n\r\n#### 3）配置npm script并打包构建\r\n```js\r\n\"build\": \"webpack --config webpack.config.js\"\r\n```\r\n同时将`package.json`文件中`main`设置为打包构建的文件\r\n```js\r\n\"main\": \"dist/webpack-numbers.js\",\r\n```\r\n\r\n## 2、发布流程\r\n\r\n#### 1）将npm的registry设置为官方的仓库（我们需要将包发布到官方仓库）\r\n* 不能发布到`taobao，taobao`镜像是只读镜像，会发布失败  \r\n* 若要发布的私服，需要将仓库地址设置为私服地址  \r\n```js\r\nnpm config get registry\r\n\r\n// 发布library需要使用官方仓库\r\nnpm config set registry https://registry.npmjs.org\r\nnpm config set registry https://registry.npm.taobao.org\r\n```\r\n#### 2）在终端中登录npm\r\n* `npm login`输入用户名、密码和邮箱登录npm  \r\n\r\n#### 3）发布library到npm\r\n* 使用命令：`npm publish`\r\n```js\r\nnpm logout //登出\r\n\r\n// 如果不知道当前登录的账号可以用who命令查看身份：\r\nnpm who am i\r\n\r\n// 发布的包在72小时内是可以删除的\r\nnpm unpublish  <pkg>[@<version>]\r\nnpm unpublish 01-custom-library-npm@1.0.1\r\n```\r\n\r\n## 3、更新包\r\n* 1、修改完包的代码后，还需要更新下`package.json`中的`version`（不能和之前的版本相同）\r\n* 2、已经登录过了，只需使用发布命令`npm publish`更新包\r\n\r\n## 4、发布注意问题\r\n* 1、必须将`registry`设置为官方仓库，否则发布失败  \r\n* 2、每次修改后重新发布，需要修改`package.json`中的版本号 \r\n\r\n## 5、测试\r\n* CommonJS：在test文件夹下创建test.js，可以使用node去运行代码\r\n```js\r\n// test.js\r\nconst webpackNumbers = require('../dist/webpack-numbers')\r\n\r\nconsole.log(webpackNumbers.numToWord(3));\r\n```\r\n* script 标签测试：在test文件夹下创建index.html\r\n```html\r\n<body>\r\n  <script src=\"../dist/webpack-numbers.js\"></script>\r\n  <script>\r\n    console.log(webpackNumbers);\r\n  </script>\r\n</body>\r\n```\r\n\r\n## 5、webpack支持es模块引入","readmeFilename":"README.md","description":"```js\r npm init -y\r npm i webpack webpack-cli lodash -D\r ```\r #### 2）配置webpack\r * 将项目中使用lodash也打包进项目中，增大了项目的体积（不推荐）\r ```js\r // webpack.config.js\r const path = require('path')"}