نحوه ی ایجاد و انتشار ماژول npm

از پروژه ی زیر در گیت هاب کلون بگیرید.https://github.com/markusenglund/react-npm-component-starterاین پروژه دارای دو بخش می باشد که نیازمندیهای موردنیاز برای ایجاد یک ماژول را فراهم کرده است. بخش اول شامل مستنداتیست که مرتبط با دموی ماژول می باشد (../src/docs) و بخش دوم نیز مرتبط با ماژول موردنظر است (../src/lib).فایلهایی که در مسیر (../src/lib) وجود دارند با استفاده از babel ترنسپایل می شوند اما بوسیله وب پک باندل نمی شوند بدلیل اینکه چنانچه توسعه دهنده ای بخواهد از ماژول شما در اپلیکیشن خود استفاده کند تمامی فایل های اپلیکیشن خود را بصورت یکجا باندل خواهد کرد در نتیجه ضروری نمی باشد. دلیل مهمتر اینکه چنانچه لایبرری شما دارای متعلقاتی باشد، باندل کردن آنها با یکدیگر موجب دوباره کاری و بزرگ تر شدن حجم فایل باندل نهایی می گردد. فایل های مسیر (../src/docs) با استفاده از وب پک و babel ترنسپایل، باندل و مینی فای می گردند. فایل های دیگری در روت این پروژه وجود دارند که شرح هریک به اختصار زیر می باشد:.Babelrcتنظیمات مربوط به مفسر babel در این فایل قرار دارد. این فایل می بایست به صورت دستی ایجاد گردد..Gitignore, .Npmignoreفایلهایی که تمایل به نمایش آنها در گیت و ماژول ان پی ام را ندارید، در این فایل ها با ساختار مربوطه قرار می گیرند.LICENSEاین بخش به کاربر نحوه ی دسترسی به ماژول می دهد.README.mdنحوه ی نصب و استفاده از ماژول در این فایل قرار می گیرد. لینک زیر راهنمای مناسبی برای ایجاد یک فایل read.me زیباتر و خواناتر می باشد.https://pandao.github.io/editor.md/en.htmlWebpack.config.jsتنظیمات وب پک درون این این فایل پیکربندی می شود.Package.jsonمهمترین تنظیمات بمنظور ایجاد و انتشار یک ماژول ان پی ام در این فایل قرار می گیرد.با دستور npm init می توانید آن را ایجاد کنید. این فایل شامل :Name• می بایست با حروف کوچک باشد• فاصله مجاز نمی باشد• – و _ مجاز می باشد• می بایست یونیک باشدVersion• با فورمت x.x.x می باشد• جهت فورمت دهی صحیح به لینک https://docs.npmjs.com/getting-started/semantic-versioningمراجعه کنید.Description• توضیح مختصری درباره ماژولMain• پس از نصب و ایمپورت کردن ماژول، مقدار این فایل بازگردانی می گردد.Scripts• مجموعه دستوراتی که در lifecycle ماژول اجرا می شوند.Keywords• کلیدواژه آرایه ای از رشته هاست که به کاربران در یافتن ماژول کمک می کند.Author• نام مولفLicense• این بخش به کاربر نحوه ی دسترسی به ماژول می دهد.Bugs• آدرس ارتباطی جهت اطلاع از خطاهایی که ممکن است برای کاربران هنگام استفاده بوجود آیدHomepage• آدرس صفحه اصلی پروژهDependency• متعلقاتی که ماژول شما در حین اجرا بدانها نیاز دارند.Devdepency• متعلقاتی که تنها در حین توسعه ماژول موردنیاز می باشد.• …برای کسب اطلاعات بیشتر به لینک زیر مراجعه کنید.https://docs.npmjs.com/files/package.jsonروند زیر را دنبال کنید تا خروجی ماژول خود را مشاهده نمایید.update "webpack-cli": "^3.1.1" in package.json,npm installnpm run devGo to http://127.0.0.1:8000جهت انتشار ماژول خود، در سایت https://www.npmjs.com/ یک اکانت بسازید یا دستور npm adduser را در ترمینال خود وارد کنید و اطلاعات موردنظر را وارد نمایید.دستور npm login را در ترمینال خود وارد کنید.اطلاعات اکانت خود را وارد نمایید.با دستور npm publish ماژول خود را منتشر کنید. می توانید با دستور npm link پیش از انتشار ماژول خود را تست نمایید.با دستور <npm version <update_type می توانید ماژول خود را بروزرسانی نمایید. پس از آن مجددا دستور npm publish را وارد نمایید.دستور npm list لیست ورژن های ماژول را نمایش می دهد.با دستور npm unpublish می توانید ماژول خود را از حالت انتشار خارج کنید.