38

GitHub - nuxt/now-builder: Now Builder for Nuxt.js

 5 years ago
source link: https://github.com/nuxt/now-builder
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Now Builder for Nuxt.js

npm version npm downloads packagephobia Circle CI Codecov Dependencies Standard JS

The Now Nuxt.js Builder takes a Nuxt.js application, defined by a nuxt.config.js entrypoint and deploys it to Now2 serverless environment.

It features built-in caching of node_modules and yarn global cache (works even by dependency changes!) and multi-stage build for fast and small-sized deployments.

When to use it

If you are using Now platform, @nuxtjs/now-builder is the ideal way to ship a fast, production-ready Nuxt.js application that scales automatically.

For more information on why you should use Nuxt.js for your project, see the Nuxt.js website.

How to use it

The first step is to set up a Nuxt.js project.

To get started, make sure you have installed the Nuxt.js dependencies with the following command:

yarn add nuxt

Then, in your project directory, create a pages directory with some example pages, for example; the home index page, pages/index.vue:

<template>
  <div>
    Works!
  </div>
</template>

Create a simple nuxt.config.js file:

export default {
  head: {
    title: 'My Nuxt.js Application!'
  }
}

Then define builds and routes in now.json configuration file:

{
  "version": 2,
  "builds": [
    {
      "src": "nuxt.config.js",
      "use": "@nuxtjs/now-builder",
      "config": {}
    }
  ],
  "routes": [
    { "src": "/_nuxt/.+", "headers": { "cache-control": "s-maxage=31536000" } },
    { "src": "/(.*)", "dest": "/" }
  ]
}

Upon deployment, you will get a URL like this: https://nuxtjs-8fnzfb1ci.now.sh

See example for a more complete deployable example.

Config

serverFiles

  • Type: Array

If you need to include some additional files to the server lambda like a local module or serverMiddleware which are NOT inside static or dist (built by webpack), you can use this option. Each item can be a glob pattern.

Example:

{
  "src": "nuxt.config.js",
  "use": "@nuxtjs/now-builder",
  "config": {
    "serverFiles": [
      "server-middleware/**"
    ]
  }
}

Technical Details

Dependencies installation

The installation algorithm of dependencies works as follows:

  • If a package-lock.json is present, npm install is used
  • Otherwise, yarn is used.

NOTE: Using yarn is HIGHLY recommended!

Private npm modules

To install private npm modules, define NPM_TOKEN as a build environment in now.json.

Node.js version

The Node.js version used is the latest in the 8 branch.

License

MIT License

Docs and Builder inspired by Next.js by Zeit.co

Copyright (c) Nuxt Community


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK