โปรแกรมปฏิบัติการ Global NPM/Node.js

Apr 07 2023
คุณเคยเจอไลบรารี่ที่เมื่อทำการติดตั้งแบบโกลบอลแล้ว จะมีคำสั่งแบบโกลบอลมากมายหรือไม่? นี่คือห้องสมุด eslint ที่เป็นที่นิยม หากคุณติดตั้งทั่วโลก คุณจะได้รับคำสั่งส่วนกลางที่เรียกว่า eslint

คุณเคยเจอไลบรารี่ที่เมื่อทำการติดตั้งแบบโกลบอลแล้ว จะมีคำสั่งแบบโกลบอลมากมายหรือไม่?

นี่คือeslintห้องสมุด ยอดนิยม หากคุณติดตั้งทั่วโลก คุณจะได้รับคำสั่งส่วนกลางที่เรียกeslintว่า

มาดูวิธีทำกันเลยค่ะว่ามีอะไรบ้าง

ผมจึงเขียนโค้ดส่วนนี้ลงในไฟล์ชื่อhello.js.

#!/usr/bin/env node

console.log('Hey dear!');

ตอนนี้ถ้าเราพยายามเรียกใช้hello.jsไฟล์ของเรา เราจะได้รับข้อผิดพลาดประเภทนี้

$ ./hello.js
-bash: ./hello.js: Permission denied

เพื่อที่เราต้องใช้chmodเพื่อให้มันใช้งานได้

chmod +x hello.js

ตอนนี้เราสามารถเรียกใช้ได้เช่นนี้!

$ ./hello.js
Hey dear!

Btw เราสามารถทำให้ง่ายขึ้นได้โดยการเปลี่ยนชื่อเป็นhello.
ประเภทไฟล์ไม่สำคัญในกรณีนี้ เนื่องจากเราได้เขียนสิ่งที่มหัศจรรย์ไว้ในบรรทัดแรกของไฟล์

ฉันจะไม่ลองเพราะเราต้องการบางอย่างที่จะเล่นด้วยnpm i -gใช่ไหม?

งั้นเรามาทำอาหารกันต่อ…

เราสามารถตรวจสอบeslint'sฐานรหัสและดูว่าพวกเขาทำได้อย่างไร เราเพียงแค่ต้องตรวจสอบpackage.jsonไฟล์ ของพวกเขา

https://github.com/eslint/eslint/blob/main/package.json

อย่างที่คุณเห็นที่นี่ พวกเขาใช้binวัตถุนี้เพื่อกำหนดค่าคำสั่งเรียกทำงานส่วนกลางของพวกเขา

ตอนนี้ฉันก็จะทำเช่นเดียวกัน

ฉันจะสร้างโครงการ Node.js และกำหนดhello.jsค่าปฏิบัติการตามeslint'sตัวอย่าง

mkdir sayhi-nairi && cd sayhi-nairi
npm init --yes

{
  // ...
  "bin" : {
    "hello" : "./hello.js"
  }
}

npm publish

https://www.npmjs.com/sayhi-nairi

การใช้whichคำสั่งคุณสามารถดูตำแหน่งที่npmเก็บไฟล์ปฏิบัติการได้

สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของ NPM และทดลองคุณลักษณะต่างๆ เพื่อสำรวจสิ่งอื่นๆ ที่คุณสามารถทำได้

ขอบคุณที่สละเวลาอ่านบทความนี้ โปรดอย่าลังเลที่จะติดต่อเราหากมีคำถามหรือความคิดเห็นใดๆ ที่คุณอาจมี @nairihar

วิธีปรับขนาดเซิร์ฟเวอร์ซ็อกเก็ต Node.js ด้วย Nginx และ Redis วิธีใช้ Puppeteer ใน Heroku ทรัพยากรฟรีของ Heroku นั้นตายแล้ว มาใช้ Render กันเถอะ