ตัวอย่างน้อยที่สุดของ WebApp ที่มีน้ำหนักเบาใน OCAML
มันมีองค์กรที่เป็นไปได้ของไฟล์เพื่อเพิ่มการแบ่งปันรหัสระหว่างเซิร์ฟเวอร์ (Native OCAML) และไคลเอนต์ (bucklescript) บางสิ่งที่แบ่งปันคือ:
อาจมีโฟลเดอร์ที่ใช้ shared สามารถมีรหัสอื่น ๆ เช่นฟังก์ชั่นการตรวจสอบความถูกต้องการประมวลผลข้อมูล ฯลฯ
สร้างสวิตช์ท้องถิ่น OPAM:
make create-switch ติดตั้ง dune ในสวิตช์ที่สร้างขึ้นใหม่:
opam install duneติดตั้งการพึ่งพาทั้งหมด:
make depsสร้างไคลเอนต์:
yarn webpack:dev
สร้างและเรียกใช้เซิร์ฟเวอร์:
make runเปิดเบราว์เซอร์และไปที่ http: // localhost: 3000/
นอกจากนี้ยังเป็นไปได้ที่จะโหลดซ้ำในขณะที่กำลังพัฒนา สำหรับสิ่งนั้นเริ่มต้นเซิร์ฟเวอร์ (เพื่อให้สามารถให้บริการคำขอ API) ด้วย make run ใช้เรียกใช้ bucklescript ใน yarn start จากนั้นเริ่มต้นเซิร์ฟเวอร์ webpack dev ด้วย yarn server
docker-compose -f docker-compose.dev.yml up -d
ตอนนี้ตัวอย่างช่วยให้สามารถปรับใช้แอพไปยัง Heroku ได้อย่างง่ายดาย เวลาสร้างนานกว่าที่ควรจะเป็น แต่หวังว่าจะได้รับการแก้ไขในไม่ช้า
heroku create your_app จากโฟลเดอร์แอพcontainer : heroku stack:set containergit push heroku master