فرانت اند دولوپر
نحوه ی ایجاد و انتشار ماژول 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.html
Webpack.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 install
npm run dev
Go 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 می توانید ماژول خود را از حالت انتشار خارج کنید.
مطلبی دیگر از این انتشارات
استاتیک تایپ و داینامیک تایپ
مطلبی دیگر از این انتشارات
میشه (a==1 && a==2 && a==3) که true بشه آیا؟
مطلبی دیگر از این انتشارات
تایپ اسکریپت از صفر تا نیم