Un ejemplo mínimo de una aplicación web liviana en OCAML.
Cuenta con una posible organización de archivos para maximizar el intercambio de códigos entre el servidor (OCAML nativo) y el cliente (Bucklescript). Algunas de las cosas compartidas son:
Potencialmente, la carpeta shared puede contener otro código compartido como funciones de validación, procesamiento de datos, etc.
Crea un interruptor local de OPAM:
make create-switch Instale dune en el interruptor recién creado:
opam install duneInstale todas las dependencias:
make depsBuild Client:
yarn webpack:dev
Construir y ejecutar el servidor:
make runAbra el navegador y vaya a http: // localhost: 3000/.
También es posible obtener una recarga caliente mientras se desarrolla. Para eso, inicie el servidor (para poder atender solicitudes de API) con make run , ejecute Bucklescript en yarn start y luego inicie el servidor de desarrollo webpack con yarn server .
docker-compose -f docker-compose.dev.yml up -d
En este momento, el ejemplo permite implementar fácilmente la aplicación en Heroku. Los tiempos de construcción son más largos de lo que deberían, pero espero que esto se solucione pronto.
heroku create your_app en la carpeta de aplicacionescontainer : heroku stack:set containergit push heroku master