เอกสารประกอบสำหรับ node โค้ดใน n8n ซึ่งเป็นแพลตฟอร์ม workflow อัตโนมัติ รวมถึงคำแนะนำในการใช้งาน และลิงก์ไปยังตัวอย่าง
node โค้ดช่วยให้คุณเรียกใช้ JavaScript หรือ Python ของคุณเองภายใน workflow ได้ ดังนั้นคุณจึงสามารถแปลงข้อมูลหรือเพิ่มตรรกะที่ node ในตัวไม่ครอบคลุมได้
ใช้ node โค้ดเพื่อเขียน JavaScript หรือ Python แบบกำหนดเองแล้วรันเป็นขั้นตอนใน workflow ของคุณ
การเข้ารหัสใน n8n (Coding in n8n)
หน้านี้ให้ข้อมูลการใช้งานเกี่ยวกับ node รหัส สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการเข้ารหัสใน n8n โปรดดูที่ รหัส ส่วน ประกอบด้วย:
- เอกสารอ้างอิงเกี่ยวกับ วิธีการและตัวแปรในตัว
- แนะแนวแล้ว จัดการวันที่ และ กำลังสอบถาม JSON
- คอลเลกชันตัวอย่างที่เพิ่มขึ้นใน ตำราอาหาร
ตัวอย่างและแม่แบบ (Examples and templates)
สำหรับตัวอย่างการใช้งานและเทมเพลตเพื่อช่วยคุณในการเริ่มต้น โปรดดูที่ n8n's การรวมรหัส หน้า
node รายการฟังก์ชันและฟังก์ชัน (Function and Function Item nodes)
node รหัสจะแทนที่ node ฟังก์ชันและรายการฟังก์ชันจาก n8n 0.198.0 หากคุณใช้ n8n เวอร์ชันเก่า คุณยังคงสามารถดูได้ เอกสารประกอบ node ฟังก์ชัน และ เอกสาร node รายการฟังก์ชัน .
Usage
วิธีการใช้งาน node รหัส
เลือกโหมด (Choose a mode)
มีสองโหมด:
- Run Once for All Items : นี่คือค่าเริ่มต้น เมื่อ workflow ของคุณทำงาน โค้ดใน node โค้ดจะดำเนินการเพียงครั้งเดียว ไม่ว่าจะมีรายการ input จำนวนเท่าใดก็ตาม
- Run Once for Each Item : เลือกตัวเลือกนี้หากคุณต้องการให้โค้ดของคุณทำงานสำหรับทุกรายการ input
JavaScript
node โค้ดรองรับ Node.js
คุณสมบัติจาวาสคริปต์ที่รองรับ (Supported JavaScript features)
node รหัสรองรับ:
- สัญญา. แทนที่จะคืนสินค้าโดยตรง คุณสามารถคืนสัญญาซึ่งจะแก้ไขตามนั้น
- เขียนไปยังคอนโซลเบราว์เซอร์ของคุณโดยใช้
console.log. สิ่งนี้มีประโยชน์สำหรับการดีบักและแก้ไขปัญหา workflow ของคุณ
ห้องสมุดภายนอก (External libraries)
หากคุณโฮสต์ n8n ด้วยตนเอง คุณสามารถนำเข้าและใช้โมดูล npm ในตัวและภายนอกใน node โค้ดได้ หากต้องการเรียนรู้วิธีเปิดใช้งานโมดูลภายนอก โปรดดูที่ เปิดใช้งานโมดูลใน node รหัส คู่มือ
หากคุณใช้ n8n Cloud คุณจะไม่สามารถนำเข้าโมดูล npm ภายนอกได้ n8n ทำให้มีสองโมดูลสำหรับคุณ:
วิธีการและตัวแปรในตัว (Built-in methods and variables)
n8n มีวิธีการและตัวแปรในตัวสำหรับการทำงานกับข้อมูลและการเข้าถึงข้อมูล n8n อ้างถึง วิธีการและตัวแปรในตัว สำหรับข้อมูลเพิ่มเติม
ไวยากรณ์ที่จะใช้เมธอดและตัวแปรในตัวคือ $variableName หรือ $methodName() . ประเภท $ ใน node โค้ดหรือตัวแก้ไข expression เพื่อดูรายการวิธีการและตัวแปรที่แนะนำ
แป้นพิมพ์ลัด (Keyboard shortcuts)
สภาพแวดล้อมการแก้ไข node โค้ดรองรับแป้นพิมพ์ลัดที่ช่วยประหยัดเวลาและเป็นประโยชน์สำหรับการดำเนินการต่างๆ ตั้งแต่การเติมข้อความอัตโนมัติไปจนถึงการพับโค้ดและการใช้เคอร์เซอร์หลายตัว ดูรายการเต็มของ Keyboard shortcuts.
Python (ไพโอไดด์ - ดั้งเดิม) (Python (Pyodide - legacy))
ไพโอไดด์เป็นคุณสมบัติดั้งเดิม n8n 2 ไม่รองรับฟีเจอร์นี้อีกต่อไป
n8n เพิ่มการรองรับ Python ใน n8n 1.0 ไม่รวมไฟล์ปฏิบัติการ Python n8n ให้การสนับสนุน Python แทน ไพโอไดด์ ซึ่งเป็นพอร์ตของ CPython ไปยัง WebAssembly สิ่งนี้จะจำกัดแพ็คเกจ Python ที่มีอยู่เป็น แพ็คเกจที่มาพร้อมกับไพโอไดด์ . n8n จะดาวน์โหลดแพ็คเกจโดยอัตโนมัติในครั้งแรกที่คุณใช้
ช้ากว่าจาวาสคริปต์ (Slower than JavaScript)
node รหัสใช้เวลาในการประมวลผล Python นานกว่า JavaScript นี่เป็นเพราะขั้นตอนการคอมไพล์เพิ่มเติม
วิธีการและตัวแปรในตัว (Built-in methods and variables)
n8n มีวิธีการและตัวแปรในตัวสำหรับการทำงานกับข้อมูลและการเข้าถึงข้อมูล n8n อ้างถึง วิธีการและตัวแปรในตัว สำหรับข้อมูลเพิ่มเติม
ไวยากรณ์ที่จะใช้เมธอดและตัวแปรในตัวคือ _variableName หรือ _methodName() . ประเภท _ ใน node โค้ดเพื่อดูรายการวิธีการและตัวแปรที่แนะนำ
แป้นพิมพ์ลัด (Keyboard shortcuts)
สภาพแวดล้อมการแก้ไข node โค้ดรองรับแป้นพิมพ์ลัดที่ช่วยประหยัดเวลาและเป็นประโยชน์สำหรับการดำเนินการต่างๆ ตั้งแต่การเติมข้อความอัตโนมัติไปจนถึงการพับโค้ดและการใช้เคอร์เซอร์หลายตัว ดูรายการเต็มของ Keyboard shortcuts.
ระบบไฟล์และคำขอ HTTP (File system and HTTP requests)
คุณไม่สามารถเข้าถึงระบบไฟล์หรือส่งคำขอ HTTP ใช้ node ต่อไปนี้แทน:
Python (Native)
n8n เพิ่มการรองรับ Python ดั้งเดิมโดยใช้ตัวรันงานใน n8n 1.111.0 คุณลักษณะนี้มีความเสถียรตั้งแต่ n8n 2
ความแตกต่างหลักจากไพโอไดด์:
- Native Python รองรับเท่านั้น
_itemsในโหมดรายการทั้งหมดและ_itemในโหมดต่อรายการ ไม่รองรับเมธอดและตัวแปรในตัว n8n อื่นๆ - บนโฮสต์ด้วยตนเอง Python ดั้งเดิมรองรับการนำเข้าโมดูล Python ดั้งเดิมจากไลบรารีมาตรฐานและจากบุคคลที่สาม หาก
n8nio/runnersรูปภาพมีรายการเหล่านั้นและอนุญาตอย่างชัดเจน ดูสิ เพิ่มการพึ่งพาเพิ่มเติมสำหรับผู้ดำเนินการงาน สำหรับรายละเอียดเพิ่มเติม - Native Python ปฏิเสธบิวด์อินที่ไม่ปลอดภัยตามค่าเริ่มต้น ดูสิ ตัวแปรสภาพแวดล้อมของผู้รันงาน สำหรับรายละเอียดเพิ่มเติม
- ต่างจาก Pyodide ซึ่งยอมรับสัญลักษณ์การเข้าถึงแบบจุด เช่น
item.json.myNewFieldPython ดั้งเดิมจะยอมรับเฉพาะสัญลักษณ์การเข้าถึงแบบวงเล็บเหลี่ยมเท่านั้น เช่นitem["json"]["my_new_field"]. อาจมีความแตกต่างทางไวยากรณ์เล็กน้อยอื่น ๆ โดยที่ Pyodide ยอมรับโครงสร้างที่ไม่ถูกกฎหมายใน Python ดั้งเดิม - บนคลาวด์ n8n ตัวเลือก Python สำหรับ node โค้ดไม่อนุญาตให้ผู้ใช้นำเข้าไลบรารี Python ใดๆ ไม่ว่าจะมาจากไลบรารีมาตรฐานหรือแพ็คเกจของบุคคลที่สาม ดูสิ เพิ่มการพึ่งพาเพิ่มเติมสำหรับผู้ดำเนินการงาน สำหรับคำแนะนำในการรวมไลบรารีภายนอกเมื่อทำการโฮสต์ด้วยตนเอง ในระยะยาว ทีมงาน n8n มุ่งมั่นที่จะอนุญาตให้ผู้ใช้สามารถรันโค้ด Python ได้ตามอำเภอใจอย่างปลอดภัยกับไลบรารีของบุคคลที่หนึ่งและบุคคลที่สามที่ใช้ตัวรันงาน
การอัปเกรดเป็น Python ดั้งเดิมถือเป็นการเปลี่ยนแปลงครั้งใหญ่ ดังนั้นคุณอาจต้องปรับสคริปต์ Python ของคุณเพื่อใช้ Python runner ดั้งเดิม
การเข้ารหัสใน n8n (Coding in n8n)
มีสองที่ที่คุณสามารถใช้โค้ดใน n8n ได้: node โค้ดและตัวแก้ไข expression เมื่อใช้ด้านใดด้านหนึ่ง มีแนวคิดหลักบางประการที่คุณจำเป็นต้องทราบ รวมถึงวิธีการและตัวแปรในตัวเพื่อช่วยในงานทั่วไป
แนวคิดหลัก (Key concepts)
เมื่อทำงานกับ node โค้ด คุณต้องเข้าใจแนวคิดต่อไปนี้:
- โครงสร้างข้อมูล : เข้าใจข้อมูลที่คุณได้รับใน node โค้ด และข้อกำหนดสำหรับการส่งออกข้อมูลจาก node
- การเชื่อมโยงรายการ : เรียนรู้วิธีการทำงานของรายการข้อมูล และวิธีลิงก์ไปยังรายการจาก node ก่อนหน้า คุณต้องจัดการรายการที่ลิงก์ในโค้ดของคุณเมื่อจำนวนรายการ input และ output ไม่ตรงกัน
วิธีการและตัวแปรในตัว (Built-in methods and variables)
n8n มีวิธีการและตัวแปรในตัว สิ่งเหล่านี้ให้การสนับสนุนสำหรับ:
- การเข้าถึงข้อมูลรายการเฉพาะ
- การเข้าถึงข้อมูลเกี่ยวกับ workflow การดำเนินการ และสภาพแวดล้อม n8n ของคุณ
- ตัวแปรอำนวยความสะดวกเพื่อช่วยในเรื่องข้อมูลและเวลา
อ้างถึง วิธีการและตัวแปรในตัว สำหรับข้อมูลเพิ่มเติม
ใช้ AI ใน node รหัส (Use AI in the Code node)
ปัญหาทั่วไป
สำหรับคำถามหรือปัญหาทั่วไปและวิธีแก้ปัญหาที่แนะนำ โปรดดูที่ Common issues.

