การเขียนไปยังข้อผิดพลาดมาตรฐาน

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