ส่งต่อความ Cool ด้วย npm public อย่างง่าย

Sarawoot Pokkam
20Scoops CNX
Published in
3 min readFeb 11, 2019
https://www.npmjs.com/

ผมเชื่อนะครับว่าผู้คนส่วนใหญ่มีความต้องการที่จะแชร์และส่งต่อความคูล (Cool) ของสิ่งที่คน ๆ นั้นได้ทำอยู่เพื่อหวังเล็ก ๆ ในหัวใจว่าจะมีประโยชน์ต่อมวลมนุษยชาติไม่มากก็น้อย

https://giphy.com

และในบทความนี้ผมจะมาเสนอช่องทางอีกช่องทางหนึ่งที่จะช่วยให้ผู้ที่เข้ามาอ่านสามารถแชร์ NodeJS Project ของตัวเองได้ผ่าน npm ม๊าาา (น้ำเสียงที่หนักแน่น) เราไม่พูดพร่ำทำเพลงกันละมาเริ่มกันเลยดีกว่า … 3 2 1 ลุยยย !!!!

สิ่งที่ต้องมี

  • มีความต้องการที่จะแชร์ความ Cool
  • Github Account

ถ้าไม่รู้จักก็รีบสมัคร แล้วตามบทความนี้ไปเลยยยยยย เดี๋ยวจะคุยกับเขา “ไม่รู้เรื่อง”

  • NPM Account

ไม่มีก็ไปสมัครมาก่อนซะนะฮะ https://www.npmjs.com/ จิ้มเลย

  • แน่นอนว่าการจะแชร์ NodeJS Project ได้ต้องติดตั้ง NodeJS ก่อนนะจ๊ะ

https://nodejs.org/

Mission

  • Public NodeJS Project ไปยัง NPM

Let’s Start

https://giphy.com/

ตรวจเช็คความเรียบร้อยของ Project กันก่อนว่าทำงานได้ปกติหรือเปล่า ถ้ามั้นใจแล้วก็ลุยกันต่อเลยยย

เริ่มจากการสร้างไฟล์ที่ชื่อว่า README.md ไว้ที่ระดับ Root ของโปรเจคกันก่อนเลย จะเขียนอธิบายวิธีการใช้ หรืออะไรก็ตามสะดวกเลยครับ ถ้าเสร็จแล้วก็ Push ขึ้น Github ไปเลยจ้า

// หน้าตา folder structure จะเป็นประมาณนี้
├───package.json
└───index.js
└───README.md

แนะนำใครอยากเขียนไปด้วยแล้วเห็นผลลัพธ์ไปด้วยแนะนำเว็ปนี้เลยครัช

ถ้าเตรียมการเสร็จหมดแล้วก็มาร่ายมนต์ตรากันเถอะ

เริ่มจาก เปิด Terminal หรือ Command Line แล้วให้บินไปที่ Project ของเราก่อน จากนั้นให้ทำการร่ายคำสั่ง

npm publish

แล้วสิ่งที่เราเจอคือออออ!!!

อย่าพึ่งตกใจไปมันขึ้นแบบนี้อะถูกต้องแล้ว เพราะเรายังไม่ได้ Login ผ่าน npm ดังนั้นเรามา Login กันโดยร่ายยย

npm login

ยังจำ Account ของ npm ที่ให้ไปสมัครกันได้ไหมเอ่ยยย ตอนนี้หล่ะถึงคราวที่ต้องเอามันมาใช้ล๊าววว

เมื่อทำการ Login เสร็จแล้ว และถ้าสำเร็จมันจะแจ้งข้อความลักษณะนี้ ถ้าขึ้นตามนี้ก็โอแล้ว

Logged in as {username} on https://registry.npmjs.org/.

จากนั้นก็ร่ายคาถาเดิมต่อ คือ

npm publish

จากนั้นขั้นตอนต่อไปที่ยากมาก คือการรอ ๆ และก็รอจนกว่ามันจะทำงานเสร็จเมื่อเสร็จแล้วมันจะโชว์ตามนี้ และเมื่อต้องการที่จะ Update ครั้งต่อไปก็ร่ายคาถาเดิมเลยคือ “npm publish” เสร็จแล้ว จร้าาาา

ชื่อ Project ตามด้วยเลข Version

ข้อควรระวัง

การที่จะ Update ตัว Project นั้นเราควรไปเปลี่ยนเลข Version ในไฟล์ package.json ด้วยไม่เช่นนั้นมันจะแจ้ง Error แบบเน้

มันก็คือความจริงอะเนาะ เลข Version ต้องขยับอยู่แล้วเมื่อมีการ Update

เรามาดูผลงานของเรากันเลยดีกว่า

เริ่มจากเปิด Browser ในดวงใจแล้วบินไปที่เว็ป npm กันเลยทำการ Login ซะให้เรียบร้อย จากนั้นกดไปที่หน้า Settings แล้วเลือกแถบ Package ของเรากันเลยละจะเห็นหน้าแบบนี้

ในหน้านี้เราจะเห็นทั้งในส่วนของชื่อ Project มีวิธี Install รวมไปถึงข้อมูลที่เราเขียนไปใน README.md ก็จะมาโผล่ตรงนี้ด้วย

อ๊ออย่าลืมไป Update ตัว README.md พร้อมเขียนวิธีติดตั้งด้วยนะครับ เผื่อมีคนหลงเข้ามาอ่านใน Github จะได้ทำการติดตั้งได้ถูกต้อง แฮะๆๆ

ส่งท้ายด้วยความน่ารักของท่านนายกของเรา อิอิ ^^

จบแล้วจย๊า ::

ขออภัยมา ณ​ ที่นี่ด้วยนะครับถ้าเนื้อหาทำให้ท่านเกิดอาการมึนงงสับสน หรืออ่านไม่รู้เรื่อง T^T

อันนี้แถมเป็น Part ต่อจากบทความที่แล้ว

จะเห็นว่า Project NodeJS ที่ผมได้เอามาเป็นตัวอย่างใน บทความนี้เป็น Project จากบทความที่แล้ว ฉะนั้นผมจึงแถมวิธีใช้มันเลยละกัน

จากภาพนี้วิธี Installเราจะใช้ “npm i generator-hu”

Start

  • เปิด Terminal / CommandLine รอไว้ได้เลยยยย
  • สร้าง Directory ส่วนชื่อก็ตามสะดวกเลย
  • จากนั้นก็ทำการใช้ Terminal / CommandLine บินเข้าไปใน Directory นั้น
  • ร่ายมนต์บทแรกกันเลย
//รอบนี้ไม่ต้องกังวลเรื่องการตั้งชื่อแล้วสามารถตบ Enter ระรัวได้เลยยย
npm init
  • จากนั้นก็ติดตั้ง Project เรากัน
//เช่น npm i generator-hu
npm i {ชื่อ Project }
  • เมื่อมันทำการ Download เสร็จแล้วก็จัดเลยคำสั่ง
sudo npm link
  • มนต์บทสุดท้าย
yo

มันก็จะโชว์ชื่อ Project แบบนี้มาให้เราแล้ววว

จะสังเกตุว่ามันจะตัดคำว่า generator ออก

เมื่อได้ตามภาพแล้วจะรออะไรเล่าตบ Enter โลดดดแล้วเราก็จะได้สิ่งที่เราต้องการแล้ว และส่วนไหนที่เราไม่ต้องการก็สามารถเข้าไปลบทิ้งได้เลย

https://giphy.com/

จบจริงๆแล้วจร้าาาา

ขอขอบคุณทุกท่านที่เข้ามาอ่านจากใจจริงนะครับ ถ้าผิดพลาดประการใดขอภัยมา ณ ที่นี้ด้วยนะครับผม

--

--

Sarawoot Pokkam
20Scoops CNX

Im not humans. but I’m a human. huu like to sing many songs on my free time. AH SHIT~~