{"_id":"alexgy1-first-npm-package","_rev":"6-b62ff901da1007928f274ad7be10aef6","name":"alexgy1-first-npm-package","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.1":{"name":"alexgy1-first-npm-package","version":"1.0.1","description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","main":"dist/webpack-numbers.js","scripts":{"build":"webpack"},"keywords":[],"author":{"name":"alexgy1"},"license":"MIT","devDependencies":{"lodash":"^4.17.21","webpack":"^5.35.1","webpack-cli":"^4.6.0"},"_id":"alexgy1-first-npm-package@1.0.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-hp67Qf1+6SmmIUhE8bNYITWg7L+ZXVxaG/iTJWxpilQhXG5qLHX1i6g4PCOm0lnqj99fEb+NRjdNnW3KHdb3Eg==","shasum":"04b3751e36acc8d455d9e44a074649d44db50f2e","tarball":"https://registry.npmjs.org/alexgy1-first-npm-package/-/alexgy1-first-npm-package-1.0.1.tgz","fileCount":6,"unpackedSize":6984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghCbjCRA9TVsSAnZWagAADpsQAJYc5YoXVU6sEZYXqH1h\nqqAmSy/M+R7GQzfkMDlLslvpOi5jkJjlCcZiLyGfyNF1FXq5hLDnEEdE+EcM\n3J+z47ny6lsCUYd++6cNrsZ1rsXZKKFBrjzLdmgtJkkSEXXPumEb9SoCVvDQ\nxernlDbZDmh4BFNn9Fsxiwney51oJKecs61UJ8L1BIafQxmTeOkq3CyvL0iK\nwk3Ar57Anom1WXamShEOpQg/XMp/9DtJ/oFxX1My7TlSGdAsarxkjU+PIX20\ng7DtzgdmIGwqmfp9runWW3cKPZOmSQHUwVWDoLYionjD107IPxVg/q4jNagc\necj8ia6pSDEjsdY7DpSnb5idLN26h3C9WzT1m8+VSc1VzEqG2+usmeeS9KvV\nVmar+7S4jGVW4Aawo3+k0WxYSmmM2Lj1KjheaEXcc7UWVD79+fbRduH7Jl1d\n+MshcWag+qKZbMJXd26X7KWhssiM1XokBdxk2wdOxw1We/IKXEdH/ch6vBhL\n3zEpQKOGekG/KZdkea9a3s/7DE1AY/JcLFecFfN+cKUi7kxJxFEMNdb/2DJ0\nsvvt3y3wLBT+7BldLiUkbNiBW9TZku2M/5qrCnVTjn27n7UfjPFRnNwwGnoz\nEcZUP/WMGpOQ7vSk2AUVa5wdTezMMuQ4R781fKNFrCaDQfueJgfhVZqrFB08\nXkTZ\r\n=IfFu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDagUfnE7Vpw6Zi1ZxksdKxwSz/dbxvnGdsbatumoH7zgIgVindzEnj1Pbkp/Ux+WPGaHifzaeBPKoCzJfMpSuS8YQ="}]},"_npmUser":{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"},"directories":{},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alexgy1-first-npm-package_1.0.1_1619273442824_0.8334337262464464"},"_hasShrinkwrap":false},"1.0.2":{"name":"alexgy1-first-npm-package","version":"1.0.2","description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","main":"dist/webpack-numbers.js","scripts":{"build":"webpack"},"keywords":[],"author":{"name":"alexgy1"},"license":"MIT","devDependencies":{"lodash":"^4.17.21","webpack":"^5.35.1","webpack-cli":"^4.6.0"},"gitHead":"26bdcc150766788081c032c86892bb46db24c1bd","_id":"alexgy1-first-npm-package@1.0.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-AMo5nr3V0XMOaSr5EQIAeslYmaBuQNFkfe5AnSUDUPBHlTnF8nx15xmBl3L2O9jdgFKsiMZwSfuP5PUSF+gDyA==","shasum":"7b2fe93fcdc31c6cffad0a2feab5f205b6ad500b","tarball":"https://registry.npmjs.org/alexgy1-first-npm-package/-/alexgy1-first-npm-package-1.0.2.tgz","fileCount":6,"unpackedSize":7065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghCmDCRA9TVsSAnZWagAAOrIP/2Ke9GU0jnnGfIDJmdzl\n8LH/TL3fZV3tmGfh0wmd5mUw8XvAdrLBRdEwejnHTdkLZy7RgwTOs7zcOhbY\nkyamsAP+Vw4W35fe/V1XCXtz/br/2wCmg7ExvAF4HN97VIV5EvQXzAvDCeFt\nPgy8XotIMTXYZ39wDwoendxduHqtCqpwkTojssN7OKvockCVUax84lQ/z0kx\n1fpX2P59NWh7WJ15r87lXAL7D0WHDoRW4/9BhzSFOGdQ3oVSAE2EZq5e/FW1\nk6edE0dSy1APihnKdCcIFUb0exWjF2nOVOOtapaYCiAzmijE78o3zYdEyYQD\ny9MEBN6zX8HcYDROTy1/yAdEl8WTLWQbm3PEbUOcTVCaxkvmf7FttJYl6W4/\n8sSrRyrIXiggkIMNgwHLCKe9WWa3UKDWwTT/Z1AA8pvMkYGIifFxRvdhDE1V\nIixjWXGeOzQCiMxhlwT6GSXObr9/0JTD6GzcuXOSXpPiBSNM+tbwBouZ0Qdb\nxTWsDNFPyAoyxhf2bpoKCcHeNZ0OiAMRuPMZfpCr/FNOqDGLwwChBf2Mzd/b\nn1x7xT0XenneUCZmRcepR6qHkn2GruBJKExhyA/yk2VAoCVXma7X1/DrhWFe\nsIOENYtaYAUxvlwU8TY2h6IB35kfzhk8XA9LY8WO4u9cGH4lKq0T8hCQE5mL\niKZE\r\n=I2PR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh+PvnMZrIxaRNwip8H01RCtrNfbQLx4485nejml96XQIhAMJ/RPYDoal9kjrLs8pTjy3H8HGYggolI3qYWPyLREOs"}]},"_npmUser":{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"},"directories":{},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alexgy1-first-npm-package_1.0.2_1619274114559_0.17089176255635952"},"_hasShrinkwrap":false},"1.0.3":{"name":"alexgy1-first-npm-package","version":"1.0.3","description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","main":"dist/webpack-numbers.js","scripts":{"build":"webpack"},"keywords":[],"author":{"name":"alexgy1"},"license":"MIT","devDependencies":{"lodash":"^4.17.21","webpack":"^5.35.1","webpack-cli":"^4.6.0"},"gitHead":"fdd211f03bea1c0a2407a4997ab91e1b0a28661f","_id":"alexgy1-first-npm-package@1.0.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-xTvNMgq4GpUBnWGUSu50U037vo2NpW68GaQl7MhnuKiYbpFjxBaUUhKDKfUPrNwDRKm6deTdAhGxaT9sBztWiA==","shasum":"cdfe289e5e9e3e15715ce367c4a7527f65e955e7","tarball":"https://registry.npmjs.org/alexgy1-first-npm-package/-/alexgy1-first-npm-package-1.0.3.tgz","fileCount":6,"unpackedSize":7106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghCqxCRA9TVsSAnZWagAAiCYP/13RaF4qHQfbizaCefEz\n5YVsx/+c4yJO8u4RO5zIjkjteWYKRBexozlgX8wEJZ2oKHkVkZfGbopVmm48\nKoMozQKG9aFZ4mtGaAxpZ6TCRp2o6okIprnhSp0cHpi7yzZc9r5kacA7kn0C\n46S+i+/oJc6s50BZbLX2JC1juLVcvbJeIJTgAYoSKaC/byBMqFkLiZpu7iWu\nSWORLulgJ9qCc81Ji1zVxeqNFQfqsMB4HhqcmwY5s2zdCXJs4KjJ43cB9s+Q\n/FYgNe4sn2zpphSMCAYA7s5Oct6RoMfIn4PJI2DQM7Wg6Ey3nWzMkqs5hzCH\nuphb6qbj4I21R756DiAW9qYdPW+tP7dKN5PGj9X5AaR8qwSPDgOMhhqJcoAL\neMZpRbf9bL7BNEJIZ6533Y+xo/u9sS0iEGW3MVP8SATx/6IR8yTeVXXlNM9J\nBB2yh9jvH8FE2aDnY2gV5Rx0QDf44PTqlc6zvmpSysyvT+sysq5lwHv43ClZ\nuxduGrJ+Bv6xte1kwDf44/t3On+iyASVeD459dpQtjVBFTsXC5apd8C1whAF\nWd54XcMw+5mFUvoMgmyVsYWIgXE4OGMV1WSMcMSDibVAzn3kGP2VgzuJA0+0\ntQjM/FDTXjKjJ1LVZxtzZF27QWqx6MomcUV3wnN+0nCdhDqjkivWT/fKrdXo\n2gPi\r\n=RqDI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBv5UjWhO4Wbv42cMOcI0FqxPKxzNZhRIlrOMqJpKOfaAiATXCa1TOdajc9M7qfJWyZbv8mnbj7xrKa+ASKgdtamqw=="}]},"_npmUser":{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"},"directories":{},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alexgy1-first-npm-package_1.0.3_1619274416565_0.46687443060914036"},"_hasShrinkwrap":false},"1.0.4":{"name":"alexgy1-first-npm-package","version":"1.0.4","description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","main":"dist/webpack-numbers.js","scripts":{"build":"webpack"},"keywords":[],"author":{"name":"alexgy1"},"license":"MIT","devDependencies":{"lodash":"^4.17.21","webpack":"^5.35.1","webpack-cli":"^4.6.0"},"gitHead":"872b3c08d923c61f0d40b5f3b894b7bc256533ec","_id":"alexgy1-first-npm-package@1.0.4","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-esInfQSkDmFb2qs5OrT6v5gYsd4c8JGW8IH9H3SqOJRBjFzlEkK6Wn2mIy3a5TOaB/WZDZ8JIX5ZrUg9mFxB4w==","shasum":"2174314136e72196408bc91a928913ef177cdf1e","tarball":"https://registry.npmjs.org/alexgy1-first-npm-package/-/alexgy1-first-npm-package-1.0.4.tgz","fileCount":6,"unpackedSize":7571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghCulCRA9TVsSAnZWagAAPu8P/024q1pMNsb1TTjhhZdV\nPO9PX556PJWR96XHa93CPMFC7AEi0DUzVbjbD9l//jdXy2lPqZaraqoKGe3p\nJL0zDmIN7iCfozPYG3b2cxg9ny8oVJYi+uHZgMRud/MGJAjaqVBOAvTbx65r\nMGQU+oAVHVl3e76jGCJnlbg2nmgaQGryloGlUqY3r6s4A+TSPgys7Cu4hJRG\nGAhwccu7Z8wbKFvkhEJNIYA/5E8xVrria3BadDUwMONuUEsfZ1Vu21pp/qAb\n+okdDWtO4ymCi7lnuMxCfTLgPTE7QBujJSAyzFdaqbImnXi48OQhpo+mucK0\nAH4SFwGUJjxJX2RTLPGkMLaTdrYhh9Gi6H1YAIKE6E3W6SjDIHCH42gEUE1B\nuGNHIlGPWZCmEh6id/NEy2U4xUjLAenrjMtO90FKuCuGq9EfCN8POLcha3FO\nvsRCv20ZuasDTDYZB/7Lc8xYXGOasim4/eoFeA7ftyVfinweld8bprjljcKf\n6mJfqe3Gb03pDb5sxrOKyQPsZE1nClgwFUXLp6C3vUjHHfsWDvooD2v6JxTH\n32Brw7mq3KD2hrtHVta6/BXFnqPg9wHNuU2ziASe3e78hwzXKKMjMuaRX6ld\n/q/7MlmSsgi4ZtA2nlylTS4ab0OXvG69tmqJeslqQrsITv1R6jINZYST429o\n+nM1\r\n=1A2P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDptt50KT7H4xnSZSmSYlCp8OKZiXKvh7EL/NmjUwAqngIgIlb52yhUzM2VDptGRDC4S32WRw/dSHs4Pk2kqbOHNFI="}]},"_npmUser":{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"},"directories":{},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alexgy1-first-npm-package_1.0.4_1619274661298_0.4113842673525039"},"_hasShrinkwrap":false},"2.0.0":{"name":"alexgy1-first-npm-package","version":"2.0.0","description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","main":"dist/webpack-numbers.js","scripts":{"build":"webpack"},"keywords":[],"author":{"name":"alexgy1"},"license":"MIT","devDependencies":{"lodash":"^4.17.21","webpack":"^5.35.1","webpack-cli":"^4.6.0"},"dependencies":{},"gitHead":"303ea4140c89524c8284a6600a1913a3dd742e6a","_id":"alexgy1-first-npm-package@2.0.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-nd8h2T2XGbaiQCx5uh0DXgTyA/5sPbWTqT5cZck3MJQMZAPe6ih9dUZsCUBGBpYctReBIQ+jsRj+l4QPPqssug==","shasum":"ea1e4ad394ba2322c0b6d84a44891a961a29e291","tarball":"https://registry.npmjs.org/alexgy1-first-npm-package/-/alexgy1-first-npm-package-2.0.0.tgz","fileCount":6,"unpackedSize":7510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghC91CRA9TVsSAnZWagAAiPgP/AkcpEaSOy2sr0DWGxZS\n71YUoayl5/kbfWfDzdW/7bpzWqxPrj06/NMrniqslAK8gAxL396FAXeol82v\n83ElN7iSxT+OuoGISZBFRmrcZxYn5RffBvcj1Vm0Cqur3YSk2+fbbsU0+VLt\nhu2tztPPbqZV6+CSlr3l/y8kASMqpw6G8w8cSf1qnuWBhDY3pW8szIn15zwK\n7VSns5jG/LLAoMypJZlYwdbccY5GiT7xKPX7a7NpugBE4v3i8e0ASB1SsZBF\n1+ja3nYMqlsUfdAXed12Vl/L30b53TG2uvRNNeXZhvHQo8M9o190gG1PegAI\ngGFv3qtF2txzeMArdk2i/0hpYEcg9upY1Kl4fbEADsPXYGyKrKCrXS8lEqKC\npc9ViYyTn39XiaVcJjHDsS+oTl+RyguwV45NCLdSxPPbbMqmCEwhEr4Q3gpe\nL9LMa5gBuJSkpEhDpIDafyulk1L2SZLcf4oDNneUDzgC9xqaYrodi9pAK5hX\n98RB9SxZHsd9pXPdJBLnZ9jsiNI05SlqBDdkpJXwFRdcmAdnEiajuXYzmJVC\nLeDuTOGjJbBLiGUpucepwZygb9kial9O+8iuOf50aWz7FGPf2vgeaE76Mnfi\ncoW9JNHIXQzUs1YHWt2JEbhlXj0tCtvblmbGIgy4fUpWm58XaSI9TZc/vp4F\nC2CT\r\n=rvGX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC14V8SJlKUOr4cPwakDSqv7q/JY9DnFhzi15IaKWd21gIgJawFx4Iug8yHzn/zlWM/BWsKxV8cI9V+A/3Acq0r0zo="}]},"_npmUser":{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"},"directories":{},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alexgy1-first-npm-package_2.0.0_1619275636938_0.3660101200234027"},"_hasShrinkwrap":false},"1.2.0":{"name":"alexgy1-first-npm-package","version":"1.2.0","description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","main":"dist/webpack-numbers.js","scripts":{"build":"webpack"},"keywords":[],"author":{"name":"alexgy1"},"license":"MIT","devDependencies":{"lodash":"^4.17.21","webpack":"^5.35.1","webpack-cli":"^4.6.0"},"dependencies":{},"gitHead":"303ea4140c89524c8284a6600a1913a3dd742e6a","_id":"alexgy1-first-npm-package@1.2.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-tMJ3jZfHWSBQ6E8+ItRT1VuG3clG9AKyTmZnsDVgvfhmm24YSOao39/h67TD1brE/m1fo1mN/VKJICG2vuvHzg==","shasum":"06a1df3c8b431a9a70b93df43622060276ba38ec","tarball":"https://registry.npmjs.org/alexgy1-first-npm-package/-/alexgy1-first-npm-package-1.2.0.tgz","fileCount":6,"unpackedSize":7510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghDA7CRA9TVsSAnZWagAAkoEQAKLibXMH2XIo6f4GDwjG\n7X4po+oujLKExicNfFymHjnBLt4wN3+Sx8xBeW/Wo4+JTxFNOdtxxoxVSIb6\nDFQ1JW5DShIG9rqFDWCOb5Mi30tyDsgNaIkvyx61gb494YBq6E3MOE5jnxr/\nhH2IW8/zDb5U6v/nPLMNspPREUHqtzDKl3AvVjt0x5eOo59Kb8LQgBV4P0Hz\n2s6KDjaI5ikUhDEbeBJcU3feZQkwgKn2xcc/5l99qWzdaJOsDnSdg7wQ5HA2\npo/3Kz4oZgzl5jrS8XYnCtxZO/vvmA87wT8MmolZhb3SPsED4wlRFzG4Nzsn\n5fwnlNXzS8HqnixInON0fFZ2FlSvd8aGmS/6NmbNAUdyGn+aW6Go1VGnmvr0\nnSMZ+yf45VuKlUghQIS+JoROfPkbQo91znEETZV/tOrSUWQQdFu0XD7bQiPO\n6atpEziPhm1YG5MagmWRaAYwQCIW1DtO3CeGLpaIrsBPmq7zegYJ5Xl7VPGY\nD3XQgfJXXXrvWUGMESoJbhltpN/ngtoik25ZdGx5MQd5jMr4FZNr5MKS39A6\npLwz35vD80BtYdpy5R0n5iyREuFYpVRrFbISagCJxz0jFDoa5TgrlqOp5/Ak\nGDAEvHXYEtSFC7BBeMURrajHLQQWCbFM+PN70nQsJYj0QYRGWC7Cq332K9VM\nMFxr\r\n=oIjG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcNIAZMKvcgEDX/DsrIED5yBBh9VkLNkKloLR55Dw0jgIhAJTSW70Virm0uKSVBLoU3xxIqIrKS+9qltdi3TSNOVkr"}]},"_npmUser":{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"},"directories":{},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alexgy1-first-npm-package_1.2.0_1619275834963_0.4843095506129538"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-24T14:10:42.824Z","1.0.1":"2021-04-24T14:10:42.931Z","modified":"2022-04-11T13:19:46.705Z","1.0.2":"2021-04-24T14:21:54.703Z","1.0.3":"2021-04-24T14:26:56.677Z","1.0.4":"2021-04-24T14:31:01.571Z","2.0.0":"2021-04-24T14:47:17.100Z","1.2.0":"2021-04-24T14:50:35.124Z"},"maintainers":[{"name":"alexgy1","email":"nifengyizhanjiu@gmail.com"}],"description":"- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？","keywords":[],"author":{"name":"alexgy1"},"license":"MIT","readme":"## 目标\n\n- webpack 将 js 打包成 nodejs 浏览器环境都可以用 怎么实现？\n\n```js\n|- webpack.config.js\n  |- package.json\n  |- /src\n    |- index.js\n    |- ref.json\n```\n\ninit project\n\n```js\nnpm init -y\nnpm install --save-dev webpack webpack-cli lodash\n```\n\nWe install lodash as devDependencies instead of dependencies because we don't want to bundle it into our library, or our library could be easily bloated.\n\n## Webpack Configuration\n\nwebpack.config.js\n\n```js\nconst path = require(\"path\");\n\nmodule.exports = {\n  entry: \"./src/index.js\",\n  output: {\n    path: path.resolve(__dirname, \"dist\"),\n    filename: \"webpack-numbers.js\",\n    clean: true,\n    library: {\n      name: \"webpackNumbers\",\n      type: \"umd\",\n    },\n  },\n  externals: {\n    lodash: {\n      commonjs: \"lodash\",\n      commonjs2: \"lodash\",\n      amd: \"lodash\",\n      root: \"_\",\n    },\n  },\n};\n```\n\nIt should be familiar have you used webpack to bundle your application. Basically, we're telling webpack to bundle src/index.js into dist/webpack-numbers.js.\n\n## Expose the Library\n\nSo far everything should be the same as bundling an application, and here comes the different part – we need to expose exports from the entry point through **output.library** option.\n\nWe exposed the entry point as webpackNumbers so users can use it through script tag:\n\n```js\n<script src=\"https://example.org/webpack-numbers.js\"></script>\n<script>\n  window.webpackNumbers.wordToNum('Five');\n</script>\n```\n\nHowever it only works when it's referenced through script tag, it can't be used in other environments like CommonJS, AMD, Node.js, etc.\n\nAs a library author, we want it to be compatible in different environments, i.e., users should be able to consume the bundled library in multiple ways listed below:\n\n- CommonJS module require:\n\n```js\nconst webpackNumbers = require(\"webpack-numbers\");\n// ...\nwebpackNumbers.wordToNum(\"Two\");\n```\n\n- AMD module require:\n\n```js\nrequire([\"webpackNumbers\"], function (webpackNumbers) {\n  // ...\n  webpackNumbers.wordToNum(\"Two\");\n});\n```\n\n- script tag:\n\n```js\n<!DOCTYPE html>\n<html>\n  ...\n  <script src=\"https://example.org/webpack-numbers.js\"></script>\n  <script>\n    // ...\n    // Global variable\n    webpackNumbers.wordToNum('Five');\n    // Property in the window object\n    window.webpackNumbers.wordToNum('Five');\n    // ...\n  </script>\n</html>\n```\n\n```js\n    library: {\n      name: 'webpackNumbers',\n      type: 'umd',\n    },\n```\n\nNow webpack will bundle a library that can work with CommonJS, AMD, and script tag.\n\nadd npm scripts in package.json\n\n`````js\n\"object\" == typeof exports && \"object\" == typeof module\n  ? (module.exports = t())\n  : \"function\" == typeof define && define.amd\n  ? define([], t)\n  : \"object\" == typeof exports\n  ? (exports.webpackNumbers = t())\n  : (n.webpackNumbers = t());\n````;\n`````\n\nrun npx webpack to check the output in dist file\n\n## Externalize Lodash\n\nNow, if you run npx webpack, you will find that a largish bundle is created. If you inspect the file, you'll see that lodash has been bundled along with your code. In this case, we'd prefer to treat lodash as a peer dependency. Meaning that the consumer should already have lodash installed. Hence you would want to give up control of this external library to the consumer of your library.\n\nThis can be done using the externals configuration:\n\n```js\n externals: {\n     lodash: {\n       commonjs: 'lodash',\n       commonjs2: 'lodash',\n       amd: 'lodash',\n       root: '_',\n     },\n   },\n```\n\nThis means that your library expects a dependency named lodash to be available in the consumer's environment.\n\n## External Limitations\n\nFor libraries that use several files from a dependency:\n\n```js\nimport A from \"library/one\";\nimport B from \"library/two\";\n\n// ...\n```\n\nYou won't be able to exclude them from the bundle by specifying library in the externals. You'll either need to exclude them one by one or by using a regular expression.\n\n```js\nmodule.exports = {\n  //...\n  externals: [\n    \"library/one\",\n    \"library/two\",\n    // Everything that starts with \"library/\"\n    /^library\\/.+$/,\n  ],\n};\n```\n\n## Final Steps\n\nOptimize your output for production by following the steps mentioned in the production guide. Let's also add the path to your generated bundle as the package's main field in with the package.json\n\n```js\n\"main\": \"dist/webpack-numbers.js\",\n```\n\nNow you can publish it as an npm package and find it at unpkg.com to distribute it to your users.\n\n- [publish a npm package](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry)\n-\n\n## fix errors\n\n- errors : 403 Forbidden - PUT https://registry.npmjs.org/alexgy1-first-npm-package - Forbidden\n\n- If you are a new user, please confirm your account first! done\n\n- [self is not defined](https://stackoverflow.com/questions/64639839/typescript-webpack-library-generates-referenceerror-self-is-not-defined)\n\n## useful articles\n\n- [publish-to-npm](https://zellwk.com/blog/publish-to-npm/)\n- [author-libraries](https://webpack.js.org/guides/author-libraries/)\n","readmeFilename":"readme.md"}