The Intuitive Vue Framework

Overview


Tests Status Windows Status  Coverage Status Downloads Version License Discord

Support us

Hire Nuxt

Build your next Vue.js application with confidence using Nuxt: a framework making web development simple and powerful.

Links

Features

  • Automatic transpilation and bundling (with webpack and babel)
  • Hot code reloading
  • Server-side rendering OR Single Page App OR Static Generated, you choose ๐Ÿ”ฅ
  • Static file serving. ./static/ is mapped to /
  • Configurable with a nuxt.config.js file
  • Custom layouts with the layouts/ directory
  • Middleware
  • Code splitting for every pages/
  • Loading just the critical CSS (page-level)

Learn more at https://nuxtjs.org.

Getting started

$ npx create-nuxt-app <project-name>

It's as simple as that!

Learn more at https://nuxtjs.org/guide/installation

Examples

Please take a look at https://nuxtjs.org/examples or directly in https://github.com/nuxt/nuxt.js/tree/dev/examples.

Production deployment

To deploy, instead of running nuxt, you probably want to build ahead of time. Therefore, building and starting are separate commands:

nuxt build
nuxt start

Learn more at https://nuxtjs.org/guide/commands#production-deployment

Consulting from the Nuxt team

Get help with that tough bug or make sure your Nuxt app is ready to deploy. For $250 an hour, get technical support, advice, code reviews, and development from the Nuxt core team: Hire Nuxt on Otechie

Professional support with TideLift

Professionally supported Nuxt is now available!

Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools.

Get supported Nuxt with the Tidelift Subscription.

Supporting Nuxt

Nuxt is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers. Funds donated via OpenCollective are managed with transparent expenses and will be used for compensating work and expenses for core team members or sponsoring community events.

Support us with a monthly donation and help us continue our activities. [Become a backer]

Platinum Sponsors

Open Collective Platinum Sponsors

Gold Sponsors

Open Collective Gold Sponsors

Silver Sponsors

Open Collective Silver Sponsors

Bronze Sponsors

Open Collective Bronze Sponsors

Contributors

Thank you to all our contributors!

Nuxt Contributors

Contributing

Open in Gitpod

Please refer to our Contribution Guide

Cross-browser testing

Thanks to BrowserStack!

BrowserStack

Automated testing

Thanks to SauceLabs for supporting Open Source <3

SauceLabs

Security

If you discover a security vulnerability regarding Nuxt, please send an e-mail to the team via [email protected]! All security vulnerabilities will be promptly addressed.

License

MIT

Comments
  • ๐Ÿ’ป Nuxt Users - We need you!

    ๐Ÿ’ป Nuxt Users - We need you!

    If your company or organization is using Nuxt, we welcome you to leave your feedback, feelings, comments, impressions and suggestions here.

    Your comments will be a great motivation for us to improve Nuxt. We are very grateful for your replies and support.

    Recommended comment format๏ผš

    - Company/Organization:
    - Product/Project:
    - Link:
    - Impression/Suggestion:
    

    We'd love to see screenshots of your Nuxt apps. Simply attach them in your comment!

    PS: If you think the docs should be improved, please leave detailed feedback in https://github.com/nuxt/docs/issues/1078 โ˜บ๏ธ

    Note: Unrelated messages will be deleted periodically


    ๅฆ‚ๆžœๆ‚จ็š„ๅ…ฌๅธๆˆ–็ป„็ป‡ๆญฃๅœจไฝฟ็”จNuxt๏ผŒๆˆ‘ไปฌๆฌข่ฟŽๆ‚จๅœจๆญคๅค„็•™ไธ‹ๆ‚จ็š„ๅ้ฆˆ๏ผŒๆ„Ÿๅ—๏ผŒ่ฏ„่ฎบ๏ผŒๆ„่งๅ’Œๅปบ่ฎฎใ€‚

    ๆ‚จ็š„่ฏ„่ฎบๅฐ†ๆˆไธบๆˆ‘ไปฌๆ”น่ฟ›Nuxt็š„้‡่ฆๅŠจๅŠ›ใ€‚ ๆˆ‘ไปฌ้žๅธธๆ„Ÿ่ฐขๆ‚จ็š„ๅ›žๅคไธŽๆ”ฏๆŒใ€‚

    ๆŽจ่็š„่ฏ„่ฎบๆ ผๅผ๏ผš

     - ๅ…ฌๅธ/็ป„็ป‡ๅ็งฐ๏ผš
     - ไบงๅ“/้กน็›ฎๅ็งฐ๏ผš
     - ้“พๆŽฅ๏ผš
     - ๆ„่ง/ๅปบ่ฎฎ๏ผš
    

    ๆˆ‘ไปฌๅพˆๅธŒๆœ›็œ‹ๅˆฐๆ‚จNuxtๅบ”็”จ็š„ๆˆชๅ›พใ€‚ ๅช้œ€ๅœจ่ฏ„่ฎบไธญ้™„ไธŠๅฎƒไปฌๅณๅฏ๏ผ

    PS๏ผšๅฆ‚ๆžœไปปไฝ•ไธŽๆ”น่ฟ›ๆ–‡ๆกฃ็›ธๅ…ณ็š„ๅปบ่ฎฎ๏ผŒๆ‚จๅฏไปฅๅœจ https://github.com/nuxt/docs/issues/1078 ไธญ็•™ไธ‹่ฏฆ็ป†็š„ๅ้ฆˆ โ˜บ๏ธ

    ๆณจๆ„๏ผšๅฐ†ๅฎšๆœŸๅˆ ้™คไธ็›ธๅ…ณ็š„ๅ›žๅค

    This question is available on Nuxt community (#c8398)
    contributions welcome pending 
    opened by clarkdo 135
  • dynamic runtime environment variables

    dynamic runtime environment variables

    While striving for immutable build artifacts we came across some possible improvement points.

    First let me explain the motivation behind "immutable build artifact". Alongside of the stages like e,g, DEV, TEST, QA, UAT, PROD the configuration changes, as an example nuxt-axios API_URL and API_BROWSER_URL. Ideally this can be injected by env vars, which pretty much fits the kubernetes way of dealing with configuration.

    Presently a work-around can be achieved with help of https://github.com/samtgarson/nuxt-env, which does a decent job in providing needed injection mechanism. The down-side is that no nuxt-plugin by default goes for this.$env, which drives one in a lot of customizing of plugins. Not to mention the broken upgrade ease.

    Can you imagine a way to support this natively in some of the next nuxt releases?

    This question is available on Nuxt community (#c8719)
    feature-request 
    opened by janesser 119
  • Failed to execute 'appendChild' on 'Node': This node type does not support this method.

    Failed to execute 'appendChild' on 'Node': This node type does not support this method.

    Version

    2.6

    Reproduction link

    http://demo.xibangtech.com/

    Steps to reproduce

    Source: https://github.com/xibang/xibang.tech

    Localhost dev is ok, but when nuxt generate and deploy to server, it occurs error. Besides, all links cannot click then.

    What is expected ?

    generate and work.

    What is actually happening?

    Error: [nuxt] Error while mounting app: HierarchyRequestError: Failed to execute 'appendChild' on 'Node': This node type does not support this method.
        at 624151740479ce035ad7.js:1
    

    more

    build - ssr - set to false, then localhost develop:

    Nuxt.js: Loading app...
    

    auto refresh and refresh ... endless

    This bug report is available on Nuxt community (#c9262)
    pending-repro bug-report 
    opened by willin 106
  • Mounted twice when layout change

    Mounted twice when layout change

    Version

    v2.6.2

    Reproduction link

    https://codesandbox.io/s/wn7j570y85

    Steps to reproduce

    Simply click on button named "Mounted triggered twice, see console" and see in console. (reproducable only with css:false for transition)

    What is expected ?

    mounted once

    What is actually happening?

    mounted twice

    Additional comments?

    The bug is still present on last release 2.7.1 It can be fixed quickly ? it's really a brake on client-side performance. (Related : https://github.com/nuxt/nuxt.js/issues/5616)

    This bug report is available on Nuxt community (#c9188)
    bug-confirmed bug-report 
    opened by usb248 94
  • safari: infinite loop when hot reloading

    safari: infinite loop when hot reloading

    Version

    v1.4.2 (or latest 2.0.0 pre code)

    Steps to reproduce

    1. Launch dev server via yarn dev (HOST=0.0.0.0 nuxt)
    2. Load http://localhost:3000/
    3. Edit code, any code. Watch the nuxt dev server recompile everything.
    4. Reload
    5. HMR fails, triggering rapid reloading of the entire page, forever, until Safari kills the tab for excessive CPU usage.
    6. The only way to test new code is to close the tab and open a new tab to localhost (and re-open dev console).

    What is expected ?

    Hot reload to work without forcing me to close the tab and open a new tab every time I change a line of code.

    What is actually happening?

    Browser crushing infinite reload.

    This bug report is available on Nuxt community (#c7666)
    bug-report 
    opened by ydnar 88
  • CSS Order is different when extractCSS is used

    CSS Order is different when extractCSS is used

    Version

    2.2.0

    Reproduction link

    https://github.com/AndrewBogdanovTSS/nuxt-css-order

    Steps to reproduce

    • Clone the repo
    • $ nuxt build
    • $ nuxt start

    What is expected ?

    Swiper active control has orange color and positioned at the bottom http://take.ms/UsNSR

    What is actually happening?

    Swiper active control has blue color and has a shift of 10px http://take.ms/ZDjz0

    Additional comments?

    This issue is happening due to a fact that order of extracted css files is wrong when extractCSS is in use. vendors.css is placed after app.css this is causing vendor styles to override stylesheets defined by the user http://take.ms/ynVEVK http://take.ms/D8FH9

    This bug report is available on Nuxt community (#c8052)
    bug-report waiting for dependency pending 
    opened by AndrewBogdanovTSS 87
  •  Error while initializing app DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method.     at Object.We [as appendChild]

    Error while initializing app DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method. at Object.We [as appendChild]

    I have an error

     Error while initializing app DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method.
        at Object.We [as appendChild]
    

    nuxt "version": "1.0.0",

    I do npm run build and npm run start.

    This bug report is available on Nuxt.js community (#c1383)
    bug-confirmed available soon 
    opened by Jussiadev 86
  • Production memory loss crashes - suggested high priority

    Production memory loss crashes - suggested high priority

    This is a duplicate issue of #1678 since it was closed and mistakened as some js-beautify issue

    None of my nuxtjs production environments last more than 39-40hrs. This is the ballpark moment where nuxt/vue seems to crash.

    This happens on AWS instance running the Amazon Linux AMI with node v8.3.0

    The original crash:

    running `HOST=0.0.0.0 nuxt start I get

    <--- Last few GCs --->
    
    [8202:0x2822f10] 148084153 ms: Mark-sweep 1399.9 (1494.4) -> 1399.9 (1494.4) MB, 2284.2 / 0.0 ms  allocation failure GC in old space requested
    [8202:0x2822f10] 148086478 ms: Mark-sweep 1399.9 (1494.4) -> 1399.9 (1494.4) MB, 2323.0 / 0.0 ms  last resort
    [8202:0x2822f10] 148088794 ms: Mark-sweep 1399.9 (1494.4) -> 1399.9 (1494.4) MB, 2315.4 / 0.0 ms  last resort
    
    
    <--- JS stacktrace --->
    
    ==== JS stack trace =========================================
    
    Security context: 0x37a56a69cca1 <JSObject>
        1: initWatch(aka initWatch) [/home/ec2-user/api/web/node_modules/vue/dist/vue.runtime.common.js:~3296] [pc=0x16c066f78f0b](this=0x37a56a682241 <undefined>,vm=0x361f52ccf229 <Vue$3 map = 0x3a932c4ded49>,watch=0x1374913debb1 <Object map = 0x25ca00203649>)
        2: _init [/home/ec2-user/api/web/node_modules/vue/dist/vue.runtime.common.js:~4181] [pc=0x16c06696451c](this=0x361f52ccf229 <Vue$3 map =...
    
    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
     1: node::Abort() [node]
     2: 0x136916c [node]
     3: v8::Utils::ReportOOMFailure(char const*, bool) [node]
     4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node]
     5: v8::internal::Factory::NewTransitionArray(int) [node]
     6: v8::internal::TransitionArray::Insert(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Map>, v8::internal::SimpleTransitionFlag) [node]
     7: v8::internal::Map::CopyReplaceDescriptors(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::DescriptorArray>, v8::internal::Handle<v8::internal::LayoutDescriptor>, v8::internal::TransitionFlag, v8::internal::MaybeHandle<v8::internal::Name>, char const*, v8::internal::SimpleTransitionFlag) [node]
     8: v8::internal::Map::CopyAddDescriptor(v8::internal::Handle<v8::internal::Map>, v8::internal::Descriptor*, v8::internal::TransitionFlag) [node]
     9: v8::internal::Map::CopyWithField(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::FieldType>, v8::internal::PropertyAttributes, v8::internal::PropertyConstness, v8::internal::Representation, v8::internal::TransitionFlag) [node]
    10: v8::internal::Map::TransitionToDataProperty(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::PropertyConstness, v8::internal::Object::StoreFromKeyed) [node]
    11: v8::internal::LookupIterator::PrepareTransitionToDataProperty(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::StoreFromKeyed) [node]
    12: v8::internal::StoreIC::LookupForWrite(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [node]
    13: v8::internal::StoreIC::UpdateCaches(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [node]
    14: v8::internal::StoreIC::Store(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [node]
    15: v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) [node]
    16: 0x16c0667840dd
    Done in 148089.23s.
    

    And again today

    yarn start v0.27.5
    $ HOST=0.0.0.0 nuxt start
    
     OPEN  http://localhost:3000
    
    control-settings
    control-settings
    control-images
    
    <--- Last few GCs --->
    
    [16624:0x2b58f10] 143724943 ms: Mark-sweep 1400.0 (1486.9) -> 1400.0 (1486.9) MB, 2268.4 / 0.0 ms  allocation failure GC in old space requested
    [16624:0x2b58f10] 143726690 ms: Mark-sweep 1400.0 (1486.9) -> 1400.0 (1486.9) MB, 1746.2 / 0.0 ms  last resort
    [16624:0x2b58f10] 143728669 ms: Mark-sweep 1400.0 (1486.9) -> 1400.0 (1486.9) MB, 1979.9 / 0.0 ms  last resort
    
    
    <--- JS stacktrace --->
    
    ==== JS stack trace =========================================
    
    Security context: 0x10cc8381cca1 <JSObject>
        2: $watch [/home/ec2-user/api/web/node_modules/vue/dist/vue.runtime.common.js:3362] [bytecode=0xa9573cc5771 offset=58](this=0x3374d9153869 <Vue$3 map = 0x16794112bb81>,expOrFn=0x27709a2361b1 <String[8]: nuxt.err>,cb=0x3374d91549f9 <JSFunction boundFn (sfi = 0xa9573cc3f21)>,options=0x3374d9154ca9 <Object map = 0x13ee4d484829>)
        4: createWatcher(aka createWatcher) [/home/ec2-user/api/web/no...
    
    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
     1: node::Abort() [node]
     2: 0x136916c [node]
     3: v8::Utils::ReportOOMFailure(char const*, bool) [node]
     4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node]
     5: v8::internal::Factory::NewTransitionArray(int) [node]
     6: v8::internal::TransitionArray::Insert(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Map>, v8::internal::SimpleTransitionFlag) [node]
     7: v8::internal::Map::CopyReplaceDescriptors(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::DescriptorArray>, v8::internal::Handle<v8::internal::LayoutDescriptor>, v8::internal::TransitionFlag, v8::internal::MaybeHandle<v8::internal::Name>, char const*, v8::internal::SimpleTransitionFlag) [node]
     8: v8::internal::Map::CopyAddDescriptor(v8::internal::Handle<v8::internal::Map>, v8::internal::Descriptor*, v8::internal::TransitionFlag) [node]
     9: v8::internal::Map::CopyWithField(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::FieldType>, v8::internal::PropertyAttributes, v8::internal::PropertyConstness, v8::internal::Representation, v8::internal::TransitionFlag) [node]
    10: v8::internal::Map::TransitionToDataProperty(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::PropertyConstness, v8::internal::Object::StoreFromKeyed) [node]
    11: v8::internal::LookupIterator::PrepareTransitionToDataProperty(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::StoreFromKeyed) [node]
    12: v8::internal::StoreIC::LookupForWrite(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [node]
    13: v8::internal::StoreIC::UpdateCaches(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [node]
    14: v8::internal::StoreIC::Store(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [node]
    15: v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) [node]
    16: 0x2007965840dd
    Done in 143729.38s.
    
    This bug report is available on Nuxt.js community (#c1519)
    bug-confirmed help-wanted pending-repro 
    opened by acidjazz 73
  • feat: options.target and full-static export

    feat: options.target and full-static export

    Types of changes

    • [ ] Bug fix (a non-breaking change which fixes an issue)
    • [x] New feature (a non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Description

    Introducing a target option in nuxt.config.js, available values:

    • 'server' (default)
    • 'static'

    I also add the information in the Nuxt.js banner: Screenshot 2019-07-31 at 17 31 24

    Add process.target in the Vue app + update process.static to use target === 'static' so it works in dev mode.

    • With CLI: nuxt <command = dev> <dir = '.'> [--target='server']

    This option will allow to:

    • static: Enhance the developer experience when running nuxt dev:

      • Remove req & res from context
      • Fallback to client-side on 404 / error / redirect
      • [x] Dissociate nuxt build & nuxt generate -> creating nuxt export to only pre-render routes
      • [x] Generate a payload for not-excluded routes + EXPORT_TIME (if generate.static = true)
      • [x] Crawl every dynamic pages (if generate.crawler = true)
      • [x] Handle Page.static = false or $nuxt.isPreview
      • [x] Force $route.query to be empty on SSR to mimic nuxt export
    • [ ] Check side effects of created vs beforeCreate for fetch

    Checklist:

    • [x] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly. (PR: #)
    • [x] I have added tests to cover my changes (if not applicable, please state why)
    • [x] All new and existing tests are passing.
    opened by Atinux 70
  • Nuxt 2.3.1 modern build issues on IE11/Edge

    Nuxt 2.3.1 modern build issues on IE11/Edge

    Version

    v2.3.1

    Reproduction link

    https://codesandbox.io/s/3xx5176565

    Steps to reproduce

    Open link in either IE or Edge. Open the developer tools and click on console tab. Script error should appear in console.

    What is expected ?

    IE11/Edge should not have any scripting errors in developer mode

    Edge 20.x should be served with the modern build

    What is actually happening?

    IE11/Edge receive a script error which halts the app's progress in loading

    Edge 20.x gets served the legacy build

    Additional comments?

    Encountered an issue on Nuxt 2.3.1 around the modern build and IE11/Edge.

    My team and I noticed that we are getting a generic script error on our dev builds on IE11/Edge when we set the modern to true in nuxt.config.js. This issue does not exist when the value is false. Wondering if there is a difference when the legacy client side app is built when the modern flag is off or on. I also attached some screenshots to show the console error we get, and where IE says the error is thrown in our code.

    IE11_console_bug.png IE11_script_location.png

    We are also noticing that Edge 20.x is not being served the modern build of our application despite it being a supported browser.

    Thanks for the assistance.

    This bug report is available on Nuxt community (#c8216)
    bug-report stale 
    opened by ettchan 67
  • feat(ts): provide type definitions

    feat(ts): provide type definitions

    See #4050

    Progress

    • [x] Provide full ComponentOptions typedefs
    • [x] Provide $nuxt typedefs
    • [x] Provide process typedefs (process.server, process.client, ...) => Need to use a global.d.ts within user's project workspace
    • [x] Test types
    • [x] Decide with Core Team where should be placed these types in the new Nuxt monorepo architecture
    types 
    opened by kevinmarrec 65
  • refactor: simpler import from fs/promises

    refactor: simpler import from fs/promises

    Types of changes

    • [ ] Bug fix (a non-breaking change which fixes an issue)
    • [ ] New feature (a non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Description

    node v14 added a simpler import path for fs promises: fs/promises

    Checklist:

    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly. (PR: #)
    • [x] I have added tests to cover my changes (if not applicable, please state why)
    • [x] All new and existing tests are passing.
    opened by c0dedance 1
  • fix(vue-app): Page mount twice

    fix(vue-app): Page mount twice

    Types of changes

    • [x] Bug fix (a non-breaking change which fixes an issue)
    • [ ] New feature (a non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Description

    Resolves: #10873

    Split setLayoutForNextPage function for two, first async getLayoutForNextPage for beforeResolve hook(extract layoutName and load layout), and second sync setLayoutForNextPage for set page

    Checklist:

    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly. (PR: #)
    • [x] I have added tests to cover my changes (if not applicable, please state why)
    • [ ] All new and existing tests are passing.
    opened by Kolobok12309 2
  • Page mounted twice

    Page mounted twice

    Versions

    • nuxt: 2.15.8
    • node: v14.19.0

    Reproduction

    https://codesandbox.io/p/github/Kolobok12309/nuxt-page-layout-mount-twice/draft/stoic-beaver - playground https://github.com/Kolobok12309/nuxt-page-layout-mount-twice - repo

    Steps to reproduce

    1. Config nuxt
    // nuxt.config.js
    export default {
      features: {
        transitions: false,
      },
    
      build: {
        splitChunks: {
          layouts: true,
        },
      },
    }
    
    1. Create 2 layouts and 2 pages
    2. Add console.log('mounted', this.$nuxt.layoutName) to mounted hook of each page
    3. Go from one page to another

    What is Expected?

    // from page-1 to page-2
    mounted layout-2
    // page-2 to page-1
    mounted layout-1
    

    What is actually happening?

    // from page-1 to page-2
    mounted layout-1
    mounted layout-2
    // page-2 to page-1
    mounted layout-2
    mounted layout-1
    

    Additional info

    If i set features.transitions: true, all to be fine, but we can't use it(some problems with meta)

    bug-report 
    opened by Kolobok12309 1
  • Nuxt 2 : Error layout not rendered Server Side

    Nuxt 2 : Error layout not rendered Server Side

    Versions

    • nuxt: 2.15.8
    • node: 16.15.0

    Reproduction

    In any page, during the fetch, if I throw a 404 error, the HTTP response code is right, 404, the error layout is rendered on the client side, but not during SSR. Even the "head()" methode is not executed server side.

    In my case, I cannot use the "validate()" method, because my 404 depends on the existence of a content in a CMS.

    Here is a reproduction in codesandbox : https://codesandbox.io/p/sandbox/reverent-lucy-q9y6wu?file=%2Flayouts%2Ferror.vue&selection=%5B%7B%22endColumn%22%3A1%2C%22endLineNumber%22%3A19%2C%22startColumn%22%3A1%2C%22startLineNumber%22%3A19%7D%5D

    Result : https://q9y6wu-3000.preview.csb.app/

    What is Expected?

    If you go on https://q9y6wu-3000.preview.csb.app/, which return 404, you should see the error template and the error title (Error title) in the source code, or with disabled javascript

    What is actually happening?

    If you go on https://q9y6wu-3000.preview.csb.app/, you see the error template with the right title (Error title), but if you inspect or disable javascript on your browser, there is the html of the index page, not the error layout.

    bug-report 
    opened by Erilan 0
  • Edge side Includes (ESI) in nuxt

    Edge side Includes (ESI) in nuxt

    Currently we are trying to work with varnish and Nuxt 2 application. We want to use the edge side includes feature (esi:include) in our application. But for hydration issue, it is not possible to use it. Is there any way to solve this issue in nuxt? Any sort of feature creation for this issue will be appreciated. Thanks

    feature-request 
    opened by rafaelragib 0
Releases(v2.15.8)
  • v2.15.8(Aug 11, 2021)

  • v2.15.7(Jun 14, 2021)

  • v2.15.6(May 12, 2021)

  • v2.15.5(May 9, 2021)

    ๐Ÿ› Bug Fixes

    • babel
      • #9232 Loose option for babel class-properties and private-methods (resolves #9224)
    • vue-app
      • #9201 Use route.replace instead of router.push to trigger navigation guards (resolves #9111)
    • builder
      • #9153 Resolve aliases in build.watch paths (resolves #9045)
    • cli
      • #9152 Add warning for css-loader < 4.2 (resolves #9117)

    ๐Ÿ’– Thanks to

    • Thomas Beduneau (@enwin)
    • @rlam3
    Source code(tar.gz)
    Source code(zip)
  • v2.15.4(Apr 1, 2021)

    ๐Ÿ› Bug Fixes

    • vue-app
      • #8978 Reload page once after loading chunk error (resolves #3389)
      • #9008 Fallback to global nuxt instance of $root is not available (resolves #8995)
      • #9010 Use app.context.route to match components in server (resolves #9009)
      • #9024 Serialize redirect functions in routes (resolves #8979)
      • #9026 Re-call $fetch if data is missing in payload (resolves #9016)
      • #9050 Use app.context.route for resolving components (resolves #9049)
      • #9075 Move internal app runtime config to _app namespace (resolves #9074)
    • config
      • #9014 Set compileType to icss for css-loader v4
    • server
      • #9034 Avoid caching .js assets in development to fix HMR in safari (resolves #3828)
    • cli
      • #8996 Remove warning if postcss 8 is installed (resolves https://github.com/nuxt/nuxt.js/issues/8087#issuecomment-800167111)

    ๐Ÿ‘• Types

    • #9078 Inline @types/terser-webpack-plugin
    • #9086 Use options from sass-loader rather than sass (resolves #9085)
    • #9053 Css-loader v4 type definitions
    • #9018 Don't require all csp policies as keys (resolves #9017)
    • #9059 Add stub entrypoint to allow node resolution of @nuxt/types (resolves #9030)

    ๐Ÿ’– Thanks to

    • ChangJoo Park (๋ฐ•์ฐฝ์ฃผ) (@ChangJoo-Park)
    • Evan Ma (@EvanMaFYH)
    • Thomas Beduneau (@enwin)
    • @rinu
    • @zzzmisa
    Source code(tar.gz)
    Source code(zip)
  • v2.15.3(Mar 10, 2021)

    ๐Ÿ› Bug Fixes

    • types
      • #8953 Export interface for NuxtConfig instead of type
    • webpack
      • #8951 Update hmr option for extract-css-chunks-webpack-plugin
    • general
      • #8936 Allow force overriding resolve paths
      • #8935 Allow relative public paths
      • #8887 Update @babel/preset-env to 2.13.x
    • vue-renderer
      • #8912 Respect injectScripts for static target

    ๐Ÿ’– Thanks to

    • Hannes Kรผttner (@hanneskuettner)
    Source code(tar.gz)
    Source code(zip)
  • v2.15.2(Feb 23, 2021)

    ๐Ÿ› Bug Fixes

    • babel-preset-app
      • #8882 Pin @babel/preset-env to ~7.12
      • #8883 Avoid relying on preset-env internal utils

    ๐Ÿ’– Thanks to

    • Huรกng Jรนnliร ng (@JLHwung)
    Source code(tar.gz)
    Source code(zip)
  • v2.15.1(Feb 19, 2021)

    ๐Ÿ› Bug Fixes

    • renderer
      • Deep merge runtime config for server (resolves #8820)
    • webpack
      • #8846 Transpile ufo (resolves #8838)
    • cli
      • #8841 Don't early return when a dependency isn't installed
    • types
      • #8835 build.html.minify can be false
    • builder
      • #8832 Use path.resolve for pages dir

    ๐Ÿ’– Thanks to

    • Harlan Wilton (@loonpwn)
    • Kenny (@kn3ny)
    Source code(tar.gz)
    Source code(zip)
  • v2.15.0(Feb 15, 2021)

    ๐Ÿ’ก Highlights

    โš ๏ธThis release introduces behavior changes. Update with caution โš ๏ธ

    • Minimum supported Node.js version is 12.0.0 (See https://github.com/nuxt/nuxt.js/issues/8327 for why)

    • Using jiti as new require engine with typescript support

    • Plug and play works out of the box

    • Allow opting-in to use postcss@8 (See https://github.com/nuxt/nuxt.js/issues/8546)

      NOTE: postcss-preset-env is disabled in v8 config as it doesn't support postcss v8 for now, so please install all below dependencies explicitly.

      yarn add --dev css-loader@^5.0.0 postcss@^8.1.10 postcss-import@^13.0.0 postcss-loader@^4.1.0 postcss-url@^10.1.1
      # or
      npm i --save-dev css-loader@^5.0.0 postcss@^8.1.10 postcss-import@^13.0.0 postcss-loader@^4.1.0 postcss-url@^10.1.1
      
    • Several encoding issues resolved by consistently using ufo

    • Components updated to v2 (please read migration guide)

    • [Modules] When matching a webpack loader by name or query, should use includes instead of exact match (example)

    ๐Ÿ› Bug Fixes

    • general
      • #8794 Ignore trailing slash in static payloads manifest
      • #8738 Encoding issues with payload paths
      • #8423 trailingSlash and child routes not working
    • config
      • #8778 Prevent invalid css filenames in webpack output
    • utils
      • #8780 serializeFunction fails with certain functions
    • vue-app
      • #8759 Enable dynamic publicPath on server-side
      • #8701 Static payload fetching bugfixes
      • #8612 Check for Page.options before looking within
      • #8611 Don't remove req, res and query from context unless in full static mode
      • #8608 Ensure link.__prefetch exists before calling it
      • #8596 Add missing id attribute to noopApp
      • #8557 Scroll-to-top on route changes only
      • #8523 Set push on router instance rather than prototype
      • #8486 Do not preserve state when registering client-side dynamic module
      • #8802 Add leading slash for payload hydration
    • server, vue-app
      • #8748 Address encoding issues with query params
    • dev
      • #8697 Clearnup vue installed plugins from server in dev mode
      • #8556 Resolve module required by create-require in jiti
    • cli
      • #8683 Disable parallel build behaviour when generating
    • webpack
      • #8555 Can't resolve absolute url in css
    • server
      • #8593 Fix HMR issue with serverMiddleware when router.base is set
    • babel
      • #8545 Enable polyfilling of proposal core-js features
    • vue-app, vue-renderer, utils
      • #8489 Respect trailingSlash setting for payloads
    • generator
      • #8474 Ensure static manifest dir exists
      • #8803 Normalize trailing slashes before extendRoutes

    ๐Ÿš€ Features

    • cli
      • #8792 Warn if incompatible node and package versions detected
    • postcss
      • #8546 Support postcss v8 with explict postcss installation
    • config, vue-app, vue-renderer
      • #8520 Support dynamic base and publicPath
    • general
      • #8389 Support plug-and-play, typescript runtime and native modules
      • #8346 Update all dependencies that require node 10.x
    • vue-app
      • #8466 Support custom fetchKey for full static generation
    • vue-renderer
      • #8347 Allow adding async attribute to <script> tags

    ๐Ÿ’… Refactors

    • utils, vue-app
      • #8765 Use ufo to parse queries and join urls
    • vue-app
      • #8621 Simplify scrollToTop checking
    • general
      • Consistent behavior for resolveModule

    ๐Ÿก Chore

    • general
      • #8440 Fix router base handling with dev-middleware (closes )
      • #8408 Pin css-loader to 4.x
      • #8808 Simplify contributors
    • cli
      • #8674 Fix typo
    • types
      • #8630 Lint types
    • builder
      • Remove validateTemplate check (ed6e8cd307ea21d9f314a88b6d7603b8e40769ea)
    • readme
      • #8436 Fix invalid links

    ๐Ÿ‡น Types

    • #8784 Add missing ssr option to config types
    • #8767 vue.config types should be optional
    • #8530 Add missing redirect overload to Context interface
    • #8638 Add enablePreview to context
    • #8648 Add missing loadingScreen type definition

    ๐Ÿ’– Thanks to

    • Alexander Lichter (@manniL)
    • Ahad Birang (@farnabaz)
    • Beorn Facchini (@beornf)
    • Flo Edelmann (@FloEdelmann)
    • @gekkedev
    • @GeopJr
    • @LKHO
    • Maarten Van Hoof (@vanhoofmaarten)
    • Paulo Amosse Cuambe (@paulocuambe)
    • Rafaล‚ Chล‚odnicki (@rchl)

    And all nuxters helping everyday with valuable feedbacks ๐Ÿ’š

    Source code(tar.gz)
    Source code(zip)
  • v2.14.12(Dec 16, 2020)

    ๐Ÿ› Hot Fixes

    • #8494 Fix issues with URL handling (resolves #8497, #8493, #8458, #8457)

    How to upgrade?

    Use yarn upgrade nuxt or npm up nuxt

    Source code(tar.gz)
    Source code(zip)
  • v2.14.11(Dec 9, 2020)

    ๐Ÿ› Hot Fixes

    • #8462 Add url-polyfill to fix IE11 issue (URL is not a constructor) (resolves #8458)
    • #8462 Update ufo to preserve relative links (resolves #8457, #8459)
    Source code(tar.gz)
    Source code(zip)
  • v2.14.10(Dec 7, 2020)

  • v2.14.9(Dec 2, 2020)

  • v2.14.8(Dec 1, 2020)

    ๐Ÿ› Bug Fixes

    • webpack
      • #8205 Allow transpiling packages in nested node_modules
    • general
      • #8325 Handle route encodings and update vue-router
    • vue-router
      • #8394 Force chidren to be required if default child is present (resolves #7823)
    • cli
      • #8398 Respect router.trailingSlash when serving static files (resolves #8350)
      • #8337 Handle generate.cache.ignore as a function in ensureBuild
    • generator
      • #8237 Nested route missing trailingSlash (resolves #8165)
      • #8344 Respect publicPath for static assets (resolves #7923, #7815)
    • csp
      • #8352 Apply right csp header when status code is 304 (resolves #8353)
    • vue-app
      • #8314 Handle missing payloads on full static (resolves #7717)
      • #8348 Warn if promises and functions are in fetch state (resolves #8338)
      • #8225 TriggerScroll when transitions is disabled
      • #8289 Use nuxt globalName correctly in nuxt-link and fetch mixin (resolves #8118)
      • #8280 Prevent redirection loop with URI-encoded path (resolves #8116)
    • types
      • #8362 Correct vue.config types
      • #8349 Add missing isFetching and nbFetching to NuxtApp interface
      • #8319 NuxtOptionsHead can be a function
      • #8302 Add missing ssrContext and next typings to Context (resolves #8296)
    • server
      • #8313 Redirect if router.base specified in development

    ๐Ÿ’… Refactors

    • general
      • #8210 Use nuxt everywhere
    • cli
      • #8219 Grammatical errors (resolves #8217)

    ๐Ÿ‘“ Tests

    • general
      • #8282 Fix redirect tests

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • Audrius Jakumavicius (@aj-dev)
    • Cain Hall (@cain)
    • Daniel Roe (@danielroe)
    • Mathieu TUDISCO (@mathieutu)
    • Orkhan Alikhanov (@OrkhanAlikhanov)
    • Steve Perkins (@steveperkins)
    • @Zuckjet
    • @padinko
    Source code(tar.gz)
    Source code(zip)
  • v2.14.7(Oct 15, 2020)

    ๐Ÿ› Bug Fixes

    • babel-preset-app
      • #8203 Always transpile optional chaining and nullish-coalescing for server
    • cli
      • #8200 Rebuild if process.env changes in nuxt.config
      • #8194 Avoid error about nuxt-edge if installed in parent node_modules
      • #8134 Mode deprecation with explicit spa or universal flag
    • vue-app
      • #8170 Use getter to provide this.$nuxt
      • #8055 ScrollRestoration hasn't set
    • types
      • #8182 Add type for serverMiddleware object format
      • #8169 Make NuxtConfig an interface
    • generator
      • #8166 Handle when no routes.json defined
    • general
      • #8206 Add better logs for DX with target option

    ๐Ÿ’– Thanks to

    • Daniel Roe (@danielroe)
    • Dmitriy (@Kolobok12309)
    Source code(tar.gz)
    Source code(zip)
  • v2.14.6(Sep 21, 2020)

    ๐Ÿ› Bug Fixes

    • babel-preset-app
      • #8085 Allow to specify corejs.version as string
    • vue-app
      • #8067 Always import error layout (resolves #8066, #8093)
      • #8053 Mock $fetch function for SSR with static target (resolves #8043)

    ๐Ÿ’– Thanks to

    • Daniel Roe (@danielroe)
    • Dmitriy (@Kolobok12309)
    • Yihao Gao (@Yihao-G)
    Source code(tar.gz)
    Source code(zip)
  • v2.14.5(Sep 10, 2020)

    ๐Ÿ› Bug Fixes

    • vue-app
      • #8016 Missing layout in error page with splittedChunks.layout (resolves #7654, #7658 and #7014)
    • utils
      • #8038 Allow chaining functions with promise (resolves #8037)
    • general
      • #8012 Remove name from production js chunks (resolves #7994 and #7882)
    • config
      • #8013 Don't interpolate environment variables with undefined value (resolves #7990 and #8013)
      • #8014 Avoid recursion when interpolating environment variables
      • #8030 Normalize build.indicator: true to default value

    ๐Ÿ’… Refactors

    • config
      • #8044 Deprecate mode option

    ๐Ÿ‡น Types

    • general
      • #7985 Expose Inject type

    ๐Ÿ’– Thanks to

    • Dmitriy (@Kolobok12309)
    • Florent Catiau-Tristant (@Kapcash)
    • @remigermain
    Source code(tar.gz)
    Source code(zip)
  • v2.14.4(Aug 27, 2020)

    ๐Ÿ› Bug Fixes

    • vue-renderer
      • #7954 Add crossorigin for styles (resolves #7953)
    • cjs
      • #7938 Fix HMR issue with mongoose (resolves #7917)
      • #7966 Protect clearRequireCache against infinite recursion
    • cli
      • #7948 Handle nuxt generate with --fail-on-error for static target (resolves #7947)
    • vue-app
      • #7939 Fix variable names shadowing in chrome debugger (resolves #7731)
    • webpack
      • #7967 No module scripts in spa modern client mode (resolves #7562)

    ๐Ÿก Chore

    • general
      • #7961 Add avif format as image

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • Florent Catiau-Tristant (@Kapcash)
    • Per Anders Ljusbรคck (@perljusback)
    • @sho-zy
    • @netkin-paris
    Source code(tar.gz)
    Source code(zip)
  • v2.14.3(Aug 16, 2020)

  • v2.14.2(Aug 16, 2020)

    ๐Ÿ› Bug Fixes

    • webpack
      • #7906 Avoid using node_modules for chunk names (resolves #7901)
    • modern
      • #7919 Missing nomodule on legacy modules (resolves #7918)
    • vue-app
      • #7877 Use anchor to / if route is undefined in error page (resolves #7841)
      • #7920 Fix [email protected] regression with scrollToTop
      • #7916 Prevent router.registerModule reallocation (resolves #7915)
    • router
      • #7912 Use updated error codes to fix redirect errors
    • cli
      • #7860 Improve project dir detection for external commands

    ๐Ÿ‘• Types

    • general
      • #7902 Improve definitions for component transition property

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • Matthew Gamble (@mwgamble)
    Source code(tar.gz)
    Source code(zip)
  • v2.14.1(Aug 4, 2020)

    ๐Ÿ› Bug Fixes

    • router
      • #7843 Optional dynamic routing in children routes (resolves #7571)
      • #7845 Remove optional params in routes ending with index (resolves #5874)
    • vue-app
      • #7801 Handle server-side router errors (resolves #7798)
    • core, config
      • #7839 Disabe esm cache (resolves #7838)
    • builder
      • #7789, #7849 Add types for build.corejs option
    • crawler
      • #7806 Skip external links with no schema (resolves #7805)
    • webpack
      • #7808 Avoid grouping with default name (resolves #7795)
    • cli
      • #7802 Generate still runs when cache disabled
      • #7796 Normalize win32 paths for nuxt generate cache (resolves #7792)

    ๐Ÿ“ Examples

    • tailwindcss-purgecss
      • #7800 Update tailwindcss from 0.6 to 1.6 using purgecss

    ๐Ÿก Chore

    • stale
      • #7828, #7844 Ignore feature request issues

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • @ChangJoo-Park
    • Matthieu Sieben (@matthieusieben)
    • Rafaล‚ Chล‚odnicki (@rchl)
    • @lihbr
    Source code(tar.gz)
    Source code(zip)
  • v2.14.0(Jul 27, 2020)

    โญ Highlights

    ๐Ÿš€ Features

    • webpack
      • #7785 Auto detect core-js version
    • builder
      • #7754 Support async extendRoutes
    • general
      • #7712 Static target improvements
    • vue-renderer
      • #7633 Add vue-renderer:spa:prepareContext hook
    • vue-app
      • #7611 Add web-types.json for better code insight in WebStorm

    ๐Ÿ› Bug Fixes

    • webpack
      • #7787 ensure loaders are first searched from @nuxt/webpack
      • #7763 font-family hex issue
      • #7667 Fallback for empty chunk name
    • vue-app
      • #7766 nuxt-link prefetch error on fallback page
      • #7718 Handle fallback on generated page
      • #7723 Don't fetch payload for store mutation for preview and spa fallback
    • generator
      • #7776 Avoid duplicate slashes for routes ending with hash
    • cli
      • #7775 Don't use absolute path of .cache/nuxt as transpilation pattern
    • utils
      • #7761 Include routes with children for generation
    • vue-renderer
      • #7752 Read target from class instead of serverContext
    • router
      • #6594 Show default child if trailingSlash is false

    ๐Ÿ–ค Refactors

    • server
      • 5272a4 Rename externalsWhitelist to externalsAllowlist

    ๐Ÿ“ Examples

    • vuetify
      • #7767 Use@nuxtjs/vuetify module

    ๐Ÿ‘• Types

    • general
      • #7670 Fix module options type
      • #7709 Add cross-origin property to NuxtOptionsRender
      • #7670 Fix module options type

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • Daniel Roe (@danielroe)
    • Harlan Wilton (@loonpwn)
    • @IKKO-Ohta
    • Martin Novรกk (@MartinN3)
    • Matthieu Sieben (@matthieusieben)
    • Piotr Tomiak (@piotrtomiak)
    • Simon Tretter (@simllll)
    • Timothy R. Chavez (@timrchavez)
    • Yaroslav Vorobev (@Zekfad)
    Source code(tar.gz)
    Source code(zip)
  • v2.13.3(Jul 2, 2020)

    ๐Ÿ› Bug Fixes

    • vue-app
      • #7656 Check plugin key on Vue.prototype instead of Vue
      • #6745 Sanitize path with trailing slash in getLocation (resolves #6744)
      • #7654 Handle layout on client error (resolves #7567)
      • #7657 Don't fetch payload on first spa fallback render (resolves #7648)
    • webpack
      • #7635 Modern build should wait for legacy assets (resolves #7562, resolves #7628)
      • #7639 Use compact name for concatenated modules (resolves #7625)
    • cli
      • #7647 Handle nuxt static command ๐Ÿ‘€

    ๐Ÿ’… Refactors

    • csp
      • #7659 Remove unsafe-eval in dev mode

    ๐Ÿ“ Examples

    • with-sockets
      • #7650 Deprecated callback and use cjs
    • with-vuetify
      • #7638 Use v-main instead of v-content

    ๐Ÿ‘• Types

    • general
      • #7626 Import types for @nuxt/telemetry and @nuxt/components

    ๐Ÿ’– Thanks to

    • Ben Read (@ReadB)
    • Daniel Roe (@danielroe)
    • Denis Karabaza (@simplesmiler)
    • Kawacrepe (@Kawacrepe)
    • Konstantin Barabanov (@crutch12)
    Source code(tar.gz)
    Source code(zip)
  • v2.13.2(Jun 26, 2020)

    ๐Ÿ› Bug Fixes

    • webpack
      • #7613 Explicitly pass outputFileSystem to webpackDevMiddleware (resolves nuxt/typescript#145)
      • #7603 Chunk name normalization for catch-all pages and windows
    • core
      • #7605 Avoid breaking change for duplicate modules (resolves #7605)
    • cli
      • #7608 Listen to a random port for export and generate (resolves #7597)
    • vue-app
      • #7614 Remove hash from payload path
      • #7606 Fix wrong layout when redirecting from error page (resolves #7567)
    • utils
      • #7604 Flat routes if child routes have absolute paths

    Dependencies

    ๐Ÿ’– Thanks to

    • Denis Karabaza (@simplesmiler)
    • Konstantin Barabanov (@crutch12)
    • Michaล‚ Kฤ™drzyล„ski (@kedrzu)
    Source code(tar.gz)
    Source code(zip)
  • v2.13.1(Jun 24, 2020)

    ๐Ÿ› Bug Fixes

    • vue-app
      • #7591 Always import resolveRouteComponents (#7587, nuxt/content#123)
      • 6332a Check correct layout when navigating from error (#7567)

    ๐Ÿ‘• Types

    • #7590 Fix module and typescript compatibility (nuxt-community/sentry-module#195)
    • #7590 Add missing crawler config (#7585)
    Source code(tar.gz)
    Source code(zip)
  • v2.13.0(Jun 18, 2020)

    What's new?

    • New target: static and full static using nuxt export
    • Built-in .env support and runtimeConfig
    • Auto components discovery with nuxt/components
    • Nuxt Telemetry

    Also don't miss nuxt/content and nuxt-composition-api ;)

    ๐Ÿš€ Features

    • general
      • #7476 createRequire option and disable esm for jest
      • #7463 Improve production debugging DX
      • #7408 Experimental nuxt telemetry
      • #7374 Builtin Components
      • Runtime config and built-in dotenv support (#7312, #7420, #7421)
      • Full static target (#6159, #7332, #7334, #7336, #7350, #7399, #7400, #7401, #7431, #7486, #7523, #7518)
    • cli
      • Improve banner DX (#7532, #7537)
    • generator
      • #7455 Allow excluding exported pages using export:page hook
      • #7422 export:route hook and setPayload
    • webpack
      • #7443 Allow babel plugins to be defined by function
      • #7178 Add mjs to babel-loader
    • config
      • #7430 Support .nuxtrc
      • #7420 Improved runtimeConfig
      • #7263 Add configOverrides for loadNuxt and loadNuxtConfig
    • ssr
      • #7383 Add non async split chunk to preload scripts
    • server
      • #7469 Add new render:beforeResponse hook
      • #7358 Add unload method support for serverMiddleware
      • #7307 Support csp report-uri
      • #7214 Add custom HTTP headers into error response
    • modern
      • #7306 Remove inlined safari fix in csp mode
    • vue-app
      • #7212 Inject into plugins context in addition to app context
    • vue-renderer
      • #7170 Add head <base> meta for spa
      • #7168 Pass renderContext to vue-renderer:ssr:templateParams hook
    • babel-preset-app
      • #7144 Add bugfixes option
    • builder
      • #7132 Ignore option to function the same as .nuxtignore

    ๐Ÿ› Bug Fixes

    • core
      • #7267 Improve module not found error
      • #7131 Join with os native sep in resolver
    • general
      • #7286 Use different port for loading-screen SSE
      • #7377, #7378 Set build indicator icon height for ie11
    • webpack
      • #7462, #7464 Reduce false negatives in nodeExternals
      • #7318 Allow HMR client path to be set
      • #7305 Use non-eval sourcemap with csp and unsafe-eval script policy
    • vue-app
      • #5703, #7442 Prevent double layout execution
      • redirect no longer strips trailing slash from URL (#7475, #7533)
      • #7162 Allow background customization for default loading template
      • #7271 sanitizeComponent import regression with features disabled
      • #7139 Sanitize layouts after resolve for splitChunks.layout
    • generator
      • #7335 Improve error handling when build does not exists
    • modern
      • #7498 Modulepreload not work in generate
      • #7382 Wrong assets mapping in ssr client modern mode
    • vue-renderer
      • #7439 Fix meta injection when ssr renderer generates a spa page
      • #7376 Base tag should be before any link or script tag
    • generator, builder
      • #7361 Empty build and dist directories instead of remove
    • babel
      • #7297 Not override presets if babelrc is true
    • server
      • #7146 HMR for sub-app serverMiddleware without path

    ๐Ÿ’… Refactors

    • general
      • #7452 Ad-hoc modules
    • config
      • #7187 Move build.crossorigin to render.crossorigin

    ๐Ÿ“ Examples

    • with-buefy
      • #7381 Update github icon name

    ๐Ÿก Chore

    • cli
      • #6031, #7460 Enhance generate no-build description
    • general
      • #7458 Fix minor issues in build scripts
      • #7228 Add ls-lint
      • #7219 Fix typos
    • renovate
      • Ignore @types/terser-webpack-plugin
    • pkg
      • #7373 Update rollup and dependencies
    • dep
      • #7119 Upgrade html-webpack-plugin to v4
    • test
      • #7321 Upgrade vue-test-utils to v1
    • benchmark
      • #7205 Fix package.json scripts
    • example
      • #7211 Update vue-chartjs

    ๐Ÿ‘“ Tests

    • general
      • #7319 Update jest to v26
      • #7252 Add test for inject in context

    ๐Ÿ’™ Types

    • general

      • #7432 Move @nuxt/types to nuxt mono-repo

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • Bogdan Gradinariu (@gion)
    • Daniel Roe (@danielroe)
    • Deniz Temizer (@dtmzr)
    • Eunjae Lee (@eunjae-lee)
    • @IWANABETHATGUY
    • Jimmy (@Geminii)
    • Johannes Lamberts (@JohannesLamberts)
    • Jt Whissel (@Phara0h)
    • Lucas Lรถffel (@loeffel-io)
    • Mathieu TUDISCO (@mathieutu)
    • Nicolas PENNEC (@NicoPennec)
    • Sibbngheid (@sibbngheid)
    • Tim van den Eijnden (@TimvdEijnden)
    • Yugo Ogura (@Spice-Z)
    • xingo xu (@xingoxu)
    Source code(tar.gz)
    Source code(zip)
  • v2.12.2(Mar 31, 2020)

    ๐Ÿ› Bug Fixes

    • server
      • #7146 HMR for sub-app serverMiddleware without path
    • vue-app
      • #7139 Sanitize layouts after resolve for splitChunks.layout
    • core
      • #7131 Join with os native sep in the resolver
    Source code(tar.gz)
    Source code(zip)
  • v2.12.1(Mar 25, 2020)

    ๐Ÿ› Bug Fixes

    • vue-app
      • #7129 Avoid multiple $fetch calls
      • #7103 Use globals.nuxt for fetch client mixin
      • #7128 Set default name to layout to avoid multi mounted calls
    • builder
      • #7097 Ensure entry is in the graph for HMR

    ๐Ÿก Chore

    • readme
      • #7092 Simplify readme and add gitpod in contributing section
    • examples
      • #7098 Avoid warning with legacy postcss.config.js

    ๐Ÿ’– Thanks to

    • Adam (@mercs600)
    • Aster (@asterd)
    • Sean Hellum (@JesterOrNot)
    • @daniluk4000
    • @olddeda
    Source code(tar.gz)
    Source code(zip)
  • v2.12.0(Mar 17, 2020)

    ๐Ÿš€ Features

    • general
      • #6950 Support crossorigin attribute in SSR script and preload tags
      • #6868 Improve programmatic usage (see docs)
      • #7029 Expose webpack config
      • #6272 Allow disabling loading-screen
    • webpack
      • #6987 Support @import using ~assets in css files
      • #6272 Allow disabling loading-screen
    • vue-app
      • #6880 New fetch syntax (see docs)
      • #6939 Pass error as param to nuxt-loading fail method
      • #6244 TriggerwatchParam when param is changed in same route
    • cli
      • #6855 Pass context when nuxt.config exports a function

    ๐Ÿ‘Œ DX

    • builder
      • #6924 Analyze mode warning rewording
    • general
      • #6881, #6896 HMR support for server middleware
    • generator
      • #6882 Log message or full error for unhandled error without stack trace
    • cli
      • #6904 Display listening URLs after build
    • vue-app
      • #7032 Improve missing inject value error message
      • #6775 Middleware not executing on double browser back navigation
    • core
      • #7079 Better module not found handling

    ๐Ÿ”ฅ Performance

    • vue-renderer
      • #6973 Early return render when redirect happens
      • #6846 Don't serialize session when injectScripts is false

    ๐Ÿ› Bug Fixes

    • core
      • #7002 Deprecated render:context and render:routeContext hooks was not being called
    • babel-preset-app
      • #7070 TypeError when import cjs in webpack building
    • vue-app
      • #6946 Use child transition name when navigating to parent
      • #6854 Add fallback context for errors
      • #6803 Resolve leave transition on child routes
      • #6807 Move head to the index to avoid global state
    • webpack
      • #6864 Provide global URL and URLSearchParams

    ๐Ÿ’… Refactors

    • general
      • #6954 Use scope variable memo for modern utils
    • utils
      • #6953 Eliminate side effect from modern utils

    ๐Ÿ“ Examples

    • cached-components
      • #6997 Remove non-existing link

    ๐Ÿก Chore

    • general
      • #6816 Simplifies Code Contributions & Reviews
    • ci
      • #6857 Support Github actions

    ๐Ÿ‘“ Tests

    • general
      • Fix socket-hang-up test
      • Separate dev and unit test
      • Avoid unexpected outside stderr assertion count
      • Fix uncompressed resource size
      • Wrap error test with consola to make output clear

    ๐Ÿ’– Thanks to

    • 404-NOTFOUND (@404-NF)
    • HG (@husayt)
    • James George (@jamesgeorge007)
    • Jason Poindexter (@jsonpoindexter)
    • Mark Honeychurch (@markhoney)
    • Matteo Rigon (@matteo-rigon)
    • Sand Of Vega (@sandofvega)
    • Sean Hellum (@JesterOrNot)
    • Vladlen (@negezor)
    • @wppd
    Source code(tar.gz)
    Source code(zip)
  • v2.11.0(Dec 17, 2019)

    ๐Ÿ› Bug Fixes

    • utils
      • #6777 Add catch statement to non function block in serializeFunction
      • #6791 Fix flatRoutes regex for nested routes with trailing slash enabled
    • vue-app
      • #6658 Pass router mode to getLocation
      • #6683 Apply path-to-regexp options to tokensToFunction
      • #6650 Layout in error.vue not work for Vue.extend component
      • #6623 Add prefetched class to <nuxt-link> after chunk loaded
    • general
      • #6685 context.route issue in plugins and splitChunks.pages === false
      • #6590 Collapsed SSR log
    • webpack
      • #6495 Enable devtool for dev mode
      • #6566 Normalize devtool for terser compatibility
    • config
      • #6583 Typo in unsafeInlineCompatibility name

    ๐Ÿš€ Features

    • vue-app
      • #6722 Upgrade vue-router to 3.1.x
    • general
      • #6149 Optionally strip non-client or non-server code
    • vue-renderer
      • #6505 Support evaluation in templates
    • config
      • #6597 Add ignoreOptions for node-ignore

    ๐Ÿ’… Refactors

    • server
      • #6771 Only append not empty allowed sources to csp

    ๐Ÿ”ฅ Performance

    • webpack
      • #6632 Prefer using contenthash

    ๐Ÿ“ Examples

    • with-sockets
      • #6586 Fix cannot read property 'app' of undefined on nuxt build

    ๐Ÿก Chore

    • general
      • #6732 Update @nuxtjs/eslint-config to v2 and fix lint errors
      • #6686 Fix typo in middleware readme
      • #6649 Limit stale bot to only issues
      • #6637 Remove unused dependencies
      • #6630 Use .github/config.yml for issue template
    • docs
      • #6719 Update code-of-conduct
    • ci
      • #6739 Remove coverage collection in fixtures
      • #6747 Use LTS Node.js instead of latest
      • #6737 Separate dev test and unit test
    • github
      • #6657 Add chinese translation for issue template

    ๐Ÿ‘“ Tests

    • general
      • #6752 Pass array to allowedSources
      • #6740 Use got instead of request
      • #6638 Fix chrome detection in macOS Catalina
      • #6596 SSR log

    ๐Ÿ’– Thanks to

    • Ahad Birang (@farnabaz)
    • Cain Hall (@cain)
    • Daniel Roe (@danielroe)
    • Dennis Herzberg (@dennis47528)
    • Harry Trแบงn (@jetaimefrc)
    • Mohammad M. Shahbazi (@mshahbazi)
    • @PedroD
    • Stephan Besser (@reskume)
    • Rafaล‚ Chล‚odnicki (@rchl)
    • Vanessa A (@Vinesse)
    • @crutch12
    Source code(tar.gz)
    Source code(zip)
Owner
Nuxt
The Intuitive Vue Framework
Nuxt
The React Framework

Next.js Getting Started Visit https://nextjs.org/learn to get started with Next.js. Documentation Visit https://nextjs.org/docs to view the full docum

Vercel 98.6k Jan 5, 2023
Fast, unopinionated, minimalist web framework for node.

Fast, unopinionated, minimalist web framework for node. const express = require('express') const app = express() app.get('/', function (req, res) {

null 59.5k Jan 5, 2023
A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8) ๐Ÿš€

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest is a framework for building efficient,

nestjs 53.2k Dec 31, 2022
Realtime MVC Framework for Node.js

Website Get Started Docs News Submit Issue Sails.js is a web framework that makes it easy to build custom, enterprise-grade Node.js apps. It is design

Balderdash 22.4k Dec 31, 2022
Fast and low overhead web framework, for Node.js

An efficient server implies a lower cost of the infrastructure, a better responsiveness under load and happy users. How can you efficiently handle the

Fastify 26k Jan 2, 2023
The Simple, Secure Framework Developers Trust

@hapi/hapi The Simple, Secure Framework Developers Trust Build powerful, scalable applications, with minimal overhead and full out-of-the-box function

hapi.js 14.1k Dec 31, 2022
A framework for real-time applications and REST APIs with JavaScript and TypeScript

A framework for real-time applications and REST APIs with JavaScript and TypeScript Feathers is a lightweight web-framework for creating real-time app

Feathers 14.3k Jan 1, 2023
๐Ÿš€ The Node.js Framework highly focused on developer ergonomics, stability and confidence

Sponsored by FOSS United is a non-profit foundation that aims at promoting and strengthening the Free and Open Source Software (FOSS) ecosystem in Ind

AdonisJS Framework 13.4k Dec 31, 2022
:rocket: Progressive microservices framework for Node.js

Moleculer Moleculer is a fast, modern and powerful microservices framework for Node.js. It helps you to build efficient, reliable & scalable services.

MoleculerJS 5.5k Jan 4, 2023
MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers

Derby The Derby MVC framework makes it easy to write realtime, collaborative applications that run in both Node.js and browsers. Derby includes a powe

DerbyJS 4.7k Dec 23, 2022
Node.js framework

Node.js framework Total.js framework is a framework for Node.js platfrom written in pure JavaScript similar to PHP's Laravel or Python's Django or ASP

Total.js 4.2k Jan 2, 2023
:evergreen_tree: Modern Web Application Framework for Node.js.

Trails is a modern, community-driven web application framework for Node.js. It builds on the pedigree of Rails and Grails to accelerate development by

Trails 1.7k Dec 19, 2022
Marble.js - functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS.

Functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS. Ecosystem Name Description @marblejs/core F

Marble.js 2.1k Dec 16, 2022
๐Ÿฆ„ 0-legacy, tiny & fast web framework as a replacement of Express

tinyhttp โšก Tiny web framework as a replacement of Express ?? tinyhttp now has a Deno port (work in progress) tinyhttp is a modern Express-like web fra

v 1 r t l 2.4k Jan 3, 2023
Catberry is an isomorphic framework for building universal front-end apps using components, Flux architecture and progressive rendering.

Catberry What the cat is that? Catberry was developed to help create "isomorphic/Universal" Web applications. Long story short, isomorphic/universal a

Catberry.js 801 Dec 20, 2022
A serverless web framework for Node.js on AWS (CloudFormation, CloudFront, API Gateway, Lambda)

---- Sorry, this project is not maintained anymore. ---- dawson is a serverless web framework for Node.js on AWS (CloudFormation, CloudFront, API Gate

dawson 717 Dec 30, 2022
Framework for setting up RESTful JSON APIs with NodeJS.

Restberry works with both Express and Restify! Framework for setting up RESTful JSON APIs with NodeJS. Define your models and setup CRUD API calls wit

Restberry 117 Jul 5, 2021
Component based MVC web framework for nodejs targeting good code structures & modularity.

Component based MVC web framework for nodejs targeting good code structures & modularity. Why fortjs Based on Fort architecture. MVC Framework and fol

Ujjwal Gupta 47 Sep 27, 2022
Proof of concept for the Quark.js web framework

Quark.js Proof of Concept Proof of concept for the Quark.js web framework. Examples Express.js Implimentation using express.js as a web server: im

Quark.js 3 Feb 18, 2022