จากบทความที่แล้วได้แสดงให้เราทราบถึงการติดตั้งและเรียกใช้งาน npm package ของผู้อื่น ส่วนในบทความนี้เราจะพูดถึงวิธีการนำ npm package ของตัวเองขึ้นไปยัง npmjs.com เพื่อให้คนอื่นเรียกใช้ package ของเรากันบ้าง ซึ่งมีขั้นตอนการทำดังนี้
การสร้าง Node package Module ขึ้นใช้เอง
-1. สร้างไฟล์ index.js ไว้ที่ c:/nodejs/myNodejsModules/index.js
-2. เปิด CMD หรือ terminal แล้วพิมพ์
cd c:/nodejs/myNodejsModules/
-3. พิมพ์ npm init เพื่อสร้างไฟล์ package.json
ในขั้นตอนสร้างไฟล์ package.json จะมีค่าที่สำคัญที่ต้องกรอก คือ entry point ซึ่งใช้ระบุชื่อไฟล์ที่เก็บ code การทำงานของ npm package ของเรานั้นเองครับ ซึ่งในที่นี้เราจะตั้ง entry point เป็น index.js
-4. เขียน code ภายในไฟล์ index.js ดังนี้ครับ
module.exports = {
name: 'Filmier',
hello: function(msg) {
return "Hello "+msg;
}
};
-5. สร้างไฟล์ greeting.js ไว้ที่ c:/nodejs/myNodejsModules/greeting.js
-6. เขียน code ภายในไฟล์ greeting.js ดังนี้ครับ
var greeting = require('./index.js');
console.log(greeting.hello('Bob'));
console.log('Hi ' + greeting.name);
-7. พิมพ์ node c:/nodejs/myNodejsModules/greeting.js เพื่อสั่งไฟล์ greeting.js ทำงาน
node c:/nodejs/myNodejsModules/greeting.js
-8. จะได้ผลลัพธ์ดังนี้
Hello Bob
Hi Filmier
จากขั้นตอนที่ผ่านมาจะเห็นว่าการสร้าง Node package Module นั้นไม่ยากเลย แล้วสงสัยกันไหมครับว่าทำไมเราต้องสร้าง Node package Module ขึ้นเอง เหตุผลก็คือ เราสร้าง Node package Module ขึ้นเองเพื่อใช้เก็บชุดคำสั่ง function หนึ่งๆ ที่ทำหน้าที่เฉพาะอย่างเพื่อประโยชน์ในการนำไปใช้ในหลายๆ ไฟล์ หรือหลายๆ ส่วนของ code เราและยังสะดวกในการจัดการ code อีกด้วย มันก็จะเหมือนกับที่เราสร้าง class ไว้ใช้ใน OOP
การ publish npm package ขึ้น npmjs.com
-1. สร้าง account โดยเปิด CMD หรือ terminal แล้วพิมพ์
cd c:/nodejs/myNodejsModules/
-2. พิมพ์ npm adduser
npm adduser
Username: <your_usrname>
Password: <your_password>
Email: (this IS public) <your_email>@<domain.com>
Logged in as <your_username> on https://registry.npmjs.org/.
(Logged in as ... แปลว่า log in สำเร็จแล้ว)
อย่าลืม login email เพื่อทำการ verify account ของเราก่อนน่ะครับ ไม่อย่างนั้นจะ publish package ไม่ผ่าน
สำหรับคนที่เคยมี account อยู่แล้ว สามารถเข้าสู่ระบบได้ด้วยคำสั่ง npm login
npm login
Username: <your_usrname>
Password: <your_password>
Email: (this IS public) <your_email>@<domain.com>
Logged in as <your_username> on https://registry.npmjs.org/.
-3. publish package โดยพิมพ์
npm publish
เท่านี้ package ของเราก็ขึ้นไปยัง npmjs.com ให้คนเรียกใช้แล้วน่ะครับ