Um exemplo mínimo de um WebApp leve no OCAML.
Possui uma possível organização de arquivos para maximizar o compartilhamento de código entre o servidor (OCAML nativo) e o cliente (Bucklescript). Algumas das coisas compartilhadas são:
Potencialmente, a pasta shared pode conter outros códigos compartilhados, como funções de validação, processamento de dados etc.
Crie um interruptor local de Opam:
make create-switch Instale dune no switch recém -criado:
opam install duneInstale todas as dependências:
make depsConstruir cliente:
yarn webpack:dev
Construa e execute o servidor:
make runAbra o navegador e vá para http: // localhost: 3000/.
Também é possível obter recarregamento quente durante o desenvolvimento. Para isso, inicie o servidor (para poder servir as solicitações de API) com make run , execute o Bucklescript no yarn start e iniciar o WebPack Dev Server com yarn server .
docker-compose -f docker-compose.dev.yml up -d
No momento, o exemplo permite implantar facilmente o aplicativo no Heroku. Os tempos de construção são mais longos do que deveriam, mas espero que isso seja corrigido em breve.
heroku create your_app a partir da pasta do aplicativocontainer : heroku stack:set containergit push heroku master