rsnext/examples/with-pkg
Shu Uesugi 6804039e94 Make example READMEs more consistent (#10124)
* npx create → npm init

* Fix inconsistent instructions

* Update amp-first

* Update with-graphql-react

* with-firebase-cloud-messaging

* Update with-higher-order-component

* change create-next-app url

* Update create-next-app instruction

* Update instructions to use npm instead of npx

* Move "the idea behind the example" to top

* Rename

* Rename

* Update contributing.md with a README template
2020-01-16 23:23:56 +01:00
..
pages Add prettier for examples directory (#5909) 2018-12-17 17:34:32 +01:00
index.js Add with pkg example (#2751) 2017-08-10 08:06:14 +02:00
package.json Change React version of examples to latest (#5990) 2019-01-05 12:16:07 +01:00
README.md Make example READMEs more consistent (#10124) 2020-01-16 23:23:56 +01:00
server.js Add prettier for examples directory (#5909) 2018-12-17 17:34:32 +01:00

Example with pkg

This example demonstrate how you can use pkg to create a binary version of a Next.js application.

To do it we need to create at least a super simple custom server that allow us to run node server.js instead of next or next start. We also need to create a index.js that works as the entry point for pkg, in that file we force to set NODE_ENV as production.

How to use

Using create-next-app

Execute create-next-app with npm or Yarn to bootstrap the example:

npm init next-app --example with-pkg with-pkg-app
# or
yarn create next-app --example with-pkg with-pkg-app

Download manually

Download the example:

curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-pkg
cd with-pkg

Install it and run pkg:

npm install
yarn run build
yarn run dist

Execute the binary file:

PORT=4000 ./dist/with-pkg-macos

Deploy it to the cloud with now (download)

now