การใช้งาน Code node#
ใช้ Code node เพื่อเขียน JavaScript หรือ Python แบบกำหนดเอง และรันเป็นขั้นตอนใน workflow ของคุณ
การเขียนโค้ดใน n8n
ข้อมูลการใช้งานเกี่ยวกับ Code node สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการเขียนโค้ดใน n8n โปรดดูที่ส่วน Code ซึ่งรวมถึง:
- เอกสารอ้างอิงเกี่ยวกับ Built-in methods and variables
- คำแนะนำเกี่ยวกับ Handling dates และ Querying JSON
- ชุดตัวอย่างที่เพิ่มขึ้นเรื่อยๆ ใน Cookbook
ตัวอย่างและ Templates
สำหรับตัวอย่างการใช้งานและ templates เพื่อช่วยให้คุณเริ่มต้น โปรดดูที่หน้า Code integrations ของ n8n
Function และ Function Item nodes
Code node มาแทนที่ Function และ Function Item nodes ตั้งแต่เวอร์ชัน 0.198.0 หากคุณใช้ n8n เวอร์ชันเก่า คุณยังสามารถดู เอกสาร Function node และ เอกสาร Function Item node ได้
การใช้งาน#
วิธีใช้ Code node
เลือกโหมด#
มีสองโหมด:
- Run Once for All Items: นี่คือค่าเริ่มต้น เมื่อ workflow ของคุณทำงาน โค้ดใน code node จะทำงานเพียงครั้งเดียว ไม่ว่าจะมี input items กี่รายการก็ตาม
- Run Once for Each Item: เลือกตัวเลือกนี้หากคุณต้องการให้โค้ดของคุณทำงานสำหรับทุก input item
JavaScript#
Code node รองรับ Node.js
ฟีเจอร์ JavaScript ที่รองรับ#
Code node รองรับ:
- Promises แทนที่จะ return items โดยตรง คุณสามารถ return promise ที่จะ resolve ตามนั้นได้
- การเขียนไปยัง console ของเบราว์เซอร์โดยใช้
console.log
ซึ่งมีประโยชน์สำหรับการดีบักและแก้ไขปัญหา workflows ของคุณ
External libraries#
หากคุณ self-host n8n คุณสามารถ import และใช้ built-in และ external npm modules ใน Code node ได้ หากต้องการเรียนรู้วิธีเปิดใช้งาน external modules โปรดดูคู่มือ Enable modules in Code node
หากคุณใช้ n8n Cloud คุณจะไม่สามารถ import external npm modules ได้ n8n มี modules สองตัวให้คุณใช้งาน:
Built-in methods and variables#
n8n มี built-in methods และ variables สำหรับการทำงานกับข้อมูลและการเข้าถึงข้อมูล n8n โปรดดู Built-in methods and variables สำหรับข้อมูลเพิ่มเติม
Syntax ในการใช้ built-in methods และ variables คือ $variableName
หรือ $methodName()
พิมพ์ $
ใน Code node หรือ expressions editor เพื่อดูรายการ methods และ variables ที่แนะนำ
Keyboard shortcuts#
สภาพแวดล้อมการแก้ไข Code node รองรับ keyboard shortcuts ที่ช่วยประหยัดเวลาและมีประโยชน์สำหรับการทำงานต่างๆ ตั้งแต่ autocompletion ไปจนถึง code-folding และการใช้ multiple-cursors สามารถดูรายการทั้งหมดได้ใน list of keyboard shortcuts
Python#
n8n เพิ่มการรองรับ Python ในเวอร์ชัน 1.0 โดยไม่ได้รวม Python executable มาด้วย แต่ n8n ให้การรองรับ Python โดยใช้ Pyodide ซึ่งเป็นการ port CPython ไปยัง WebAssembly สิ่งนี้จำกัด Python packages ที่มีให้เฉพาะ Packages included with Pyodide n8n จะดาวน์โหลด package โดยอัตโนมัติในครั้งแรกที่คุณใช้งาน
ช้ากว่า JavaScript
Code node ใช้เวลาประมวลผล Python นานกว่า JavaScript เนื่องจากมีขั้นตอนการคอมไพล์เพิ่มเติม
Built-in methods and variables#
n8n มี built-in methods และ variables สำหรับการทำงานกับข้อมูลและการเข้าถึงข้อมูล n8n โปรดดู Built-in methods and variables สำหรับข้อมูลเพิ่มเติม
Syntax ในการใช้ built-in methods และ variables คือ _variableName
หรือ _methodName()
พิมพ์ _
ใน Code node เพื่อดูรายการ methods และ variables ที่แนะนำ
Keyboard shortcuts#
สภาพแวดล้อมการแก้ไข Code node รองรับ keyboard shortcuts ที่ช่วยประหยัดเวลาและมีประโยชน์สำหรับการทำงานต่างๆ ตั้งแต่ autocompletion ไปจนถึง code-folding และการใช้ multiple-cursors สามารถดูรายการทั้งหมดได้ใน list of keyboard shortcuts
File system และ HTTP requests#
คุณไม่สามารถเข้าถึง file system หรือทำการ HTTP requests ได้ ให้ใช้ nodes ต่อไปนี้แทน:
การเขียนโค้ดใน n8n#
มีสองที่ที่คุณสามารถใช้โค้ดใน n8n ได้: Code node และ expressions editor เมื่อใช้พื้นที่ใดพื้นที่หนึ่ง มีแนวคิดหลักบางอย่างที่คุณต้องรู้ รวมถึง built-in methods และ variables บางอย่างเพื่อช่วยในงานทั่วไป
แนวคิดหลัก#
เมื่อทำงานกับ Code node คุณต้องเข้าใจแนวคิดต่อไปนี้:
- Data structure: ทำความเข้าใจข้อมูลที่คุณได้รับใน Code node และข้อกำหนดสำหรับการส่งออกข้อมูลจาก node
- Item linking: เรียนรู้วิธีการทำงานของ data items และวิธีเชื่อมโยงไปยัง items จาก nodes ก่อนหน้า คุณต้องจัดการ item linking ในโค้ดของคุณเมื่อจำนวน input และ output items ไม่ตรงกัน
Built-in methods and variables#
n8n มี built-in methods และ variables ซึ่งให้การสนับสนุนสำหรับ:
- การเข้าถึงข้อมูล item เฉพาะ
- การเข้าถึงข้อมูลเกี่ยวกับ workflows, executions และสภาพแวดล้อม n8n ของคุณ
- ตัวแปรอำนวยความสะดวกเพื่อช่วยเกี่ยวกับข้อมูลและเวลา
โปรดดู Built-in methods and variables สำหรับข้อมูลเพิ่มเติม
ใช้ AI ใน Code node#
ความพร้อมใช้งานของฟีเจอร์
ความช่วยเหลือ AI ใน Code node มีให้สำหรับผู้ใช้ Cloud เท่านั้น ไม่สามารถใช้งานได้ใน n8n ที่โฮสต์เอง
โค้ดที่สร้างโดย AI จะเขียนทับโค้ดของคุณ
หากคุณได้เขียนโค้ดบางส่วนไว้ในแท็บ Code แล้ว โค้ดที่สร้างโดย AI จะแทนที่โค้ดนั้น n8n แนะนำให้ใช้ AI เป็นจุดเริ่มต้นในการสร้างโค้ดเริ่มต้นของคุณ จากนั้นจึงแก้ไขตามต้องการ
วิธีใช้ ChatGPT เพื่อสร้างโค้ดใน Code node:
- ใน Code node ตั้งค่า Language เป็น JavaScript
- เลือกแท็บ Ask AI
- เขียนคำถามของคุณ
- เลือก Generate Code n8n จะส่งคำถามของคุณไปยัง ChatGPT จากนั้นแสดงผลลัพธ์ในแท็บ Code