1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-reasonml
Tony Kovanen 6158243339 with-reasonml: better setup (#4218)
With this setup we're compiling the .re/.ml files directly to source
directories with a .bs.js extension, and enabling next.js to pick up
that extension for pages.
2018-04-27 08:24:46 -07:00
..
components examples/with-reasonml: use bs-next for Next.Link (#4214) 2018-04-26 10:05:04 -07:00
pages with-reasonml: use default exports (#4217) 2018-04-26 20:35:30 -07:00
.babelrc Example: Improve ReasonML example (#3021) 2017-09-30 22:02:45 +02:00
.gitignore with-reasonml: better setup (#4218) 2018-04-27 08:24:46 -07:00
bsconfig.json with-reasonml: better setup (#4218) 2018-04-27 08:24:46 -07:00
index.js Merge v3-beta into master (#2809) 2017-08-27 22:13:35 +02:00
next.config.js with-reasonml: better setup (#4218) 2018-04-27 08:24:46 -07:00
package.json with-reasonml: better setup (#4218) 2018-04-27 08:24:46 -07:00
README.md Examples: stabalise README format and create-next-app usage (#4009) 2018-04-03 14:19:05 +02:00

Deploy to now

Example app using ReasonML & ReasonReact components

How to use

Using create-next-app

Execute create-next-app with Yarn or npx 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 or clone the repo:

curl https://codeload.github.com/zeit/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 now (download)

now

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!

The idea behind the example

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