rsnext/examples/with-pkg
Shu Uesugi c57cdbb31d
Rename zeit.co/new → zeit.co/import (#10674)
* Replace zeit.co/new → zeit.co/import

* Update deployment.md
2020-02-24 19:08:34 -05: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 Rename zeit.co/new → zeit.co/import (#10674) 2020-02-24 19:08:34 -05: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 ZEIT Now (Documentation).