Elm:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีการ:
Elm มุ่งเน้นไปที่การพัฒนาเว็บ ที่ซึ่งแนวคิดในการเขียนข้อมูลโดยตรงไปยัง stderr ไม่ถูกใช้งานในลักษณะเดียวกับในสภาพแวดล้อม command-line แบบดั้งเดิม อย่างไรก็ตามสำหรับโปรแกรม Elm ที่ทำงานใน Node.js หรือสภาพแวดล้อมที่คล้ายคลึงกัน การใช้พอร์ตเพื่อสื่อสารกับ JavaScript เป็นวิธีการหลักในการบรรลุฟังก์ชั่นที่คล้ายคลึงกัน นี่คือวิธีที่คุณอาจตั้งค่ามันขึ้นมา:
Elm Code (Main.elm
):
port module Main exposing (main)
import Browser
port errorOut : String -> Cmd msg
-- ตัวอย่างฟังก์ชั่นที่ส่งข้อความแสดงข้อผิดพลาดไปยัง JS
generateError : String -> Cmd msg
generateError message =
errorOut message
main =
generateError "This is an error message for stderr"
การสื่อสารกับ JavaScript (index.js
):
const { Elm } = require('./Main.elm');
var app = Elm.Main.init();
app.ports.errorOut.subscribe((message) => {
console.error(message);
});
โค้ด Elm นี้กำหนดพอร์ต errorOut
ที่อนุญาตให้ส่งข้อความออกจาก Elm ไปยัง JavaScript จากนั้นในโค้ด JavaScript เราฟังข้อความที่ถูกส่งผ่านพอร์ตนี้และเปลี่ยนทิศทางไปยัง stderr โดยใช้ console.error()
ด้วยวิธีนี้ คุณสามารถเขียนไปยัง stderr ได้อย่างมีประสิทธิภาพในสภาพแวดล้อมที่รองรับ โดยใช้คุณสมบัติการสื่อสารระหว่าง Elm กับ JavaScript
ตัวอย่างผลลัพธ์ใน terminal Node.js (เมื่อรัน index.js
):
This is an error message for stderr