Cover image

Peer dependencies ใน npm

30 Sep 2021

Share to:

สวัสดีครับ ในบทความนี้จะเกี่ยวกับ Peer dependencies ใน npm ครับ

Peer dependencies คืออะไร

ในบางครั้งถ้าเราต้องการจะสร้าง Library A และ Plugin B ที่ใช้งานร่วมกันตัวอย่างเช่น

import A from 'A';
import B from 'B';

A.addPlugin(new B());

A.doSomeThing();

จากตัวอย่างด้านบน หมายความว่า Plugin B จะต้อง Implement ให้สามารถใช้งานใน Library A ได้

ปัญหาคือ ถ้า Library A มีการเปลี่ยน version และมีการเปลี่ยนแปลงอะไรบางอย่างที่ทําให้ Plugin B ไม่สามารถใช้งานได้อีกต่อไป จึงทําให้เกิดปัญหาขึ้นมา

Peer dependencies จะมาช่วยแก้ปัญหานี้คือ จะช่วยบอก npm ว่า Plugin B จะสามารถใช้งานกับ Library A version อะไรได้บ้าง

ตัวอย่างการกําหนด peerDependencies ให้กับ Plugin B

{
  "name": "B",
  "version": "1.0.0",
  "peerDependencies": {
    "A": "2.x"
  }
}

จากตัวอย่างด้านบน หมายความว่า Plugin B v1.0.0 จะสามารถใช้งานร่วมกับ Library A v2.x ได้ แต่ใน Library A version อื่นๆนอกเหนือจากนี้ อาจจะไม่สามารถทํางานร่วมกันได้

ใน npm version 3-6 จะขึ้น Warning กรณีที่ version ของ package ใน peerDependencies ไม่ตรงกันกับ package ที่อยู่ใน node_module

แต่ ใน npm version 7 จะทําการ Install package ใน peerDependencies ให้โดยอัตโนมัติ ทําให้เกิด Conflic และ Error ขึ้นกรณีที่ ใน node_module มี package version อื่น อยู่แล้ว ซึ่งเราสามารถแก้ปัญหาได้โดยใช้ —legacy-peer-deps ตอนใช้คําสั่ง npm install เพื่อบอก npm ว่าไม่ต้อง Install ให้ แค่แสดง Warning ขึ้นมาเฉยๆพอ เหมือนกับ npm version 3-6

$ npm install --legacy-peer-deps <your package>

Suggestion blogs

จำนวนเต็ม

จำนวนเต็ม คือ จำนวนที่ไม่มีเศษส่วนและทศนิยมรวมอยู่ในจำนวนนั้น จำนวนเต็มประกอบด้วย  จำนวนเต็มบวก  จำนวนเต็มลบ  และศูนย์

วิธีต้มไข่

เทคนิคการต้มไข่ เริ้มต้นด้วยนําไข่ใส่ในหม้อ และเติมนํ้าลงไปจนท่วมไข่ นําหม้อไปตั้งไฟ รอจนนํ้าเดือดแล้วจึงเริ่มจับเวลา โดยระยะเวลาการต้มจะขึ้นอยู่กับความต้องการดังนี้

วิธีสร้าง Private Repository Github แบบฟรีๆ

สวัสดีครับ ปัจจุบันเว็บที่ให้บริการเกี่ยวกับ version control มีอยู่มากมายหลายเว็บ แต่ที่นิยมกันก็คือ Github Github เปิดให้ใช้บริการฟรีแต่มีข้อจํากัด ไม่สามารจะสร้าง Private Repository ได้ ถ้าใครอยากจะสร้างก็ต้องเสียเงิน ในบทความนี้ผมจะมาแนะนําวิธีใช้งาน  Private Repository กันแบบฟรีๆ วิธีการก็คือ เราจะต้องส่งคําร้องขอใช้งานสําหรับนักศึกษาโดยจะเป็น free plans for educational


Copyright © 2019 - 2024 thiti.dev |  v1.34.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ