f00ad581a1
Co-authored-by: Joe Haddad <joe.haddad@zeit.co> |
||
---|---|---|
.. | ||
bindings | ||
components | ||
pages | ||
.babelrc | ||
.gitignore | ||
bsconfig.json | ||
index.js | ||
next.config.js | ||
package.json | ||
README.md |
Example app using ReasonML & ReasonReact components
This example features:
- An app that mixes together JavaScript and ReasonML components and functions
- An app with two pages which has a common Counter component
- That Counter component maintain the counter inside its module. This is used primarily to illustrate that modules get initialized once and their state variables persist in runtime
Deploy your own
Deploy the example using Vercel:
How to use
Using create-next-app
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example with-reasonml with-reasonml-app
# or
yarn create next-app --example with-reasonml with-reasonml-app
Download manually
Download the example:
curl https://codeload.github.com/vercel/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-reasonml
cd with-reasonml
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Build and run:
npm run build
npm run start
# or
yarn build
yarn start
Deploy it to the cloud with Vercel (Documentation).
Recommendation:
Run BuckleScript build system bsb -w
and next -w
separately. For the sake
of simple convention, npm run dev
run both bsb
and next
concurrently.
However, this doesn't offer the full colorful and very, very, veeeery nice
error
output
experience that ReasonML can offer, don't miss it!
There are 2 convenience scripts to facilitate running these separate processes:
npm run dev:reason
- This script will start the ReasonML toolchain in watch mode to re-compile whenever you make changes.npm run dev:next
- This script will start the next.js development server so that you will be able to access your site at the location output by the script. This will also hot reload as you make changes.
You should start the scripts in the presented order.