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

Issues
  • 💻 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)
    bug-report pending-repro 
    opened by willin 106
  • 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 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)
    available soon bug-confirmed 
    opened by Jussiadev 86
  • 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 pending waiting for dependency 
    opened by AndrewBogdanovTSS 80
  • 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
  • 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 66
  • Hook

    Hook "build:compile" is not firing on dev-server when reloading after a file changed.

    Versions

    • nuxt v2.15.6
    • node: v14.2.0

    In the documentation the hook build:compile says it fires "Before webpack compile". However when I am developing on the dev-server with Hot Module Replacement this hook doesn't fire. I am getting only the hook build:compiled when the compilation is finished.

    Steps to reproduce

    in nuxt.config.js

    export default {
      hooks:{
        build:{
          compile(){
            console.log('BEFORE COMPILE');
          },
          compiled(){
            console.log('AFTER COMPILE');
          }
        }
      }
    }
    
    npx nuxt dev
    

    When I save a file, I see only AFTER COMPILE in my terminal.

    I need a hook before the compilation starts every time a file is modified.

    bug-report 
    opened by ndr47 0
  • Static generate for arabic routes

    Static generate for arabic routes

    Versions

    • nuxt: v2.15.6

    Arabic routes dose not work as expected when i use yarn generate then yarn start unless i manually rename every Arabic generated folder into encodeURIComponent('Original folder name').

    Steps to reproduce

    1- clone GitHub repo with its 'dist' folder (don't run yarn generate) 2- open dist folder and run yarn start 3- see that AsyncData() dose not work after refresh the page in '/العنوان' but work with '/blog_title' and with '/العنوان_الثاني'. its work with '/العنوان_الثاني' because i manually opened the dist folder and renamed 'العنوان_الثاني' folder to '%D8%A7%D9%84%D8%B9%D9%86%D9%88%D8%A7%D9%86_%D8%A7%D9%84%D8%AB%D8%A7%D9%86%D9%8A' which is the result of encodeURIComponent('العنوان_الثاني') image

    What is Expected?

    i expected AsyncData() to work after refresh the page by default as it works with yarn dev

    What is actually happening?

    AsyncData() dosent work after refresh the page for generated Arabic routes

    bug-report 
    opened by moh1434 3
  • Comma separated query params are forcefully separated by space characters in <source> tags

    Comma separated query params are forcefully separated by space characters in tags

    Versions

    • nuxt: v2.14.5

    Reproduction

    codesanbox and run yarn start.

    Additional Details
    // package.json
    {
      "name": "my-nuxt-project",
      "scripts": {
        "start": "nuxt",
        "build": "nuxt build",
        "generate": "nuxt generate"
      },
      "dependencies": {
        "nuxt": "^2.14.5"
      }
    }
    
    

    Steps to reproduce

    • Open this codesanbox and run yarn start.
    • Inspect the <picture> tag.
    • Inspect the first <source> tag
    • Observe that comma separated query params are forcefully spaced

    What is Expected?

    Picture's <source> tags that have commas, ,, in the parameters are not separated by spaces

    What is actually happening?

    The following html

          <picture class="h-auto w-full">
            <source
              media="(min-width: 2100px)"
              srcset="https://images.unsplash.com/photo-1534796636912-3b95b3ab5986?...&auto=format,compress"
            />
    ...
    

    Gets rendered as

          <picture class="h-auto w-full">
            <source
              media="(min-width: 2100px)"
              srcset="
                https://images.unsplash.com/photo-1534796636912-3b95b3ab5986?...&auto=format, compress
              "
            />
    ...
    

    Comments

    Not entirely sure what's happening here. The <image> tag doesn't exhibit this behavior. Only <source> tags. Is this expected? Am I missing something re: how <source> tags work with Nuxt?

    Interesting to note that %2C is respected, ie no spaces are inserted.

    Thanks for the help!

    bug-report 
    opened by luqven 0
  • addLayout for custom error page is not providing the error props

    addLayout for custom error page is not providing the error props

    Versions

    • nuxt: v2.15.6
    • node: v14.17.0

    Reproduction

    Link to reproduce - https://github.com/fcieminski/nuxt-modules-bug

    Steps to reproduce

    1. Start clear nuxt project
    2. Add module.js with new error layout to nuxt.config.js
    3. Visit not created page to see what's happening

    What is Expected?

    The new registered error layout from module should mimic the way how normal error page is working, so extend the default layout with for example footer and header and also provide the error prop to manage errors.

    What is actually happening?

    The error page is treated as independent and standalone layout, not respecting the nuxt components structure and not having the error prop.

    Here's the structure with error layout inside layout folder obraz

    Here's the structure after creating custom error layout module obraz

    Minimal code, it's also inside my repo:

    Adding custom error page layout obraz

    Error page itself: obraz

    Empty error object: obraz

    bug-report 
    opened by fcieminski 0
  • Static error page (fullstatic or hybrid)

    Static error page (fullstatic or hybrid)

    Problem

    I've been trying for a few days to generate a fullstatic nuxt build with a 404 page. It seems for me that the most reliable way to do this was only with the fallback site option. My main problem with this fallback option is that the build turns the error page into a complete SPA page (with all client-side store and async requests).

    In my concrete case the API of the backend is not public accessible and the page need to be load data for the footer and header via the store. All of these workarounds not working or send request on client-side.

    Working with a explicit 404.vue and not with he error.vue brings other problems with the sitemap, statuscodes or urls with i18n. It can be handled, yes, but it shouldnt be such a mess.

    Possible Solutions

    It would be a nice and overdue feature when the error page has only in static mode features to prerender it without SPA, a static site only for htacess rules like 'ErrorDocument 404 /404.html'.

    I understand why it has to be a SPA so it could be an other option to create a hybrid with possibilities to inject data in a render proccess (with nuxtServerInit) and SPA mode.

    Thank you :-)

    feature-request 
    opened by vampics 0
  • Browser crashes  when redirect in asyncData

    Browser crashes when redirect in asyncData

    Versions

    • nuxt: 2.14.12
    • node: v12.16.2

    Reproduction

    There are three pages a 、b、c

    image

    if i use this.$router.push('/b') in the page a,it works;

    if i use this.$router.replace('/b') in the page a, Error;

    Why is there such a problem? thanks;

    bug-report pending-repro 
    opened by liuxsen 1
  • Option to have runtimeConfigs to be stored in a central file with nuxt generate?

    Option to have runtimeConfigs to be stored in a central file with nuxt generate?

    Is your feature request related to a problem? Please describe.

    When an application needs to be moved from one deployment server to another while maintaining the same build (ie. DEV, STAGE, BETA, OPS, etc..), it would be much easier to edit the runtimeConfigs for each deployment, without needing to run nuxt generate.

    Describe the solution you'd like

    nuxt generate has the option to build the application with runtimeConfigs variables stored in single dedicated file, such as a /dist/_nuxt/runtimeConfigs.js

    Something in as an option in the nuxt.config.js like:

    export default {
      generate: {
         singleFileRuntimeConfig: true
      }
    }
    

    Describe alternatives you've considered

    The current build with nuxt generate will store the runtimeConfigs in multiple/duplicate state.js files for each html page. It's possible to write a shell script that searches for those files can be run to replace the values of those runtimeConfig variables, but making edits over multiple duplicate files doesn't make sense and adds more work.

    Additional context

    I created a discussion here but I haven't gotten a response from anyone: https://github.com/nuxt/nuxt.js/discussions/9346

    I'm not using SSR due to requirements. NuxtJS nuxt generate is a great option that is SEO-friendly.

    feature-request 
    opened by kngai 0
  • bugfix: use vue meta in ssr renderer

    bugfix: use vue meta in ssr renderer

    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 #9402

    While it does fix the original issue, it will almost certainly create new ones instead. This is more like pseudo code to give even more context to the original issue. I hope someone more familiar with the rendering process will help with this.

    Checklist:

    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly. (PR: #)
    • [ ] I have added tests to cover my changes (if not applicable, please state why)
    • [ ] All new and existing tests are passing.
    opened by rinu 0
  • SSRRenderer does not use VueMeta

    SSRRenderer does not use VueMeta

    Versions

    • nuxt: 2.15.0
    • node: 14.17.0

    Reproduction

    https://github.com/rinu/codesandbox-nuxt

    Steps to reproduce

    • yarn build
    • TITLE=Nuxt yarn start
    • Compare source of http://localhost:3000 and http://localhost:3000/?ssr=1

    To reproduce the issue it is very important not to use dev mode and to only provide the title at start time.

    What is Expected?

    Meta title is Nuxt in both SPA and SSR mode.

    What is actually happening?

    In SPA mode title is set from env. In SSR mode title is always the default.

    In SSR mode the head is generated at build time. The issue of SSR not using the head data is for all elements, title is just an example. In practice I needed this for a script.

    bug-report 
    opened by rinu 0
  • chore(deps): update all non-major dependencies

    chore(deps): update all non-major dependencies

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @babel/compat-data | ^7.14.4 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/core (source) | ^7.14.3 -> ^7.14.6 | age | adoption | passing | confidence | | @babel/helper-compilation-targets | ^7.14.4 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/helper-module-imports (source) | ^7.13.12 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/plugin-proposal-class-properties (source) | ^7.13.0 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/plugin-proposal-decorators (source) | ^7.14.2 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/plugin-proposal-nullish-coalescing-operator (source) | ^7.14.2 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/plugin-proposal-optional-chaining (source) | ^7.14.2 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/plugin-proposal-private-methods (source) | ^7.13.0 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/plugin-transform-runtime (source) | ^7.14.3 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/preset-env (source) | ^7.14.4 -> ^7.14.5 | age | adoption | passing | confidence | | @babel/runtime (source) | ^7.14.0 -> ^7.14.6 | age | adoption | passing | confidence | | @types/node | 14.17.2 -> 14.17.3 | age | adoption | passing | confidence | | @typescript-eslint/eslint-plugin | ^4.26.0 -> ^4.27.0 | age | adoption | passing | confidence | | @typescript-eslint/parser | ^4.26.0 -> ^4.27.0 | age | adoption | passing | confidence | | @vue/server-test-utils | ^1.2.0 -> ^1.2.1 | age | adoption | passing | confidence | | @vue/test-utils | ^1.2.0 -> ^1.2.1 | age | adoption | passing | confidence | | caniuse-lite | ^1.0.30001235 -> ^1.0.30001237 | age | adoption | passing | confidence | | esbuild | ^0.12.6 -> ^0.12.8 | age | adoption | passing | confidence | | node-html-parser | ^3.3.4 -> ^3.3.5 | age | adoption | passing | confidence | | rollup (source) | 2.51.0 -> 2.51.2 | age | adoption | passing | confidence | | sass | ^1.34.1 -> ^1.35.0 | age | adoption | passing | confidence | | vue | ^2.6.13 -> ^2.6.14 | age | adoption | passing | confidence | | vue-server-renderer | ^2.6.13 -> ^2.6.14 | age | adoption | passing | confidence | | vue-template-compiler | ^2.6.13 -> ^2.6.14 | age | adoption | passing | confidence |


    Release Notes

    babel/babel

    v7.14.5

    Compare Source

    :eyeglasses: Spec Compliance
    • babel-plugin-proposal-do-expressions, babel-traverse
    • babel-parser
    :bug: Bug Fix
    :house: Internal
    • babel-helper-hoist-variables
    • babel-parser
    • Other
    • babel-cli, babel-code-frame, babel-compat-data, babel-core, babel-generator, babel-helper-annotate-as-pure, babel-helper-builder-binary-assignment-operator-visitor, babel-helper-builder-react-jsx, babel-helper-compilation-targets, babel-helper-create-class-features-plugin, babel-helper-create-regexp-features-plugin, babel-helper-define-map, babel-helper-explode-assignable-expression, babel-helper-fixtures, babel-helper-function-name, babel-helper-get-function-arity, babel-helper-hoist-variables, babel-helper-member-expression-to-functions, babel-helper-module-imports, babel-helper-module-transforms, babel-helper-optimise-call-expression, babel-helper-plugin-test-runner, babel-helper-plugin-utils, babel-helper-remap-async-to-generator, babel-helper-replace-supers, babel-helper-simple-access, babel-helper-skip-transparent-expression-wrappers, babel-helper-split-export-declaration, babel-helper-transform-fixture-test-runner, babel-helper-validator-identifier, babel-helper-validator-option, babel-helper-wrap-function, babel-helpers, babel-highlight, babel-node, babel-parser, babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining, babel-plugin-external-helpers, babel-plugin-proposal-async-do-expressions, babel-plugin-proposal-async-generator-functions, babel-plugin-proposal-class-properties, babel-plugin-proposal-class-static-block, babel-plugin-proposal-decorators, babel-plugin-proposal-do-expressions, babel-plugin-proposal-dynamic-import, babel-plugin-proposal-export-default-from, babel-plugin-proposal-export-namespace-from, babel-plugin-proposal-function-bind, babel-plugin-proposal-function-sent, babel-plugin-proposal-json-strings, babel-plugin-proposal-logical-assignment-operators, babel-plugin-proposal-nullish-coalescing-operator, babel-plugin-proposal-numeric-separator, babel-plugin-proposal-object-rest-spread, babel-plugin-proposal-optional-catch-binding, babel-plugin-proposal-optional-chaining, babel-plugin-proposal-partial-application, babel-plugin-proposal-pipeline-operator, babel-plugin-proposal-private-methods, babel-plugin-proposal-private-property-in-object, babel-plugin-proposal-record-and-tuple, babel-plugin-proposal-throw-expressions, babel-plugin-proposal-unicode-property-regex, babel-plugin-syntax-async-do-expressions, babel-plugin-syntax-class-static-block, babel-plugin-syntax-decimal, babel-plugin-syntax-decorators, babel-plugin-syntax-do-expressions, babel-plugin-syntax-export-default-from, babel-plugin-syntax-flow, babel-plugin-syntax-function-bind, babel-plugin-syntax-function-sent, babel-plugin-syntax-import-assertions, babel-plugin-syntax-jsx, babel-plugin-syntax-module-blocks, babel-plugin-syntax-partial-application, babel-plugin-syntax-pipeline-operator, babel-plugin-syntax-private-property-in-object, babel-plugin-syntax-record-and-tuple, babel-plugin-syntax-throw-expressions, babel-plugin-syntax-top-level-await, babel-plugin-syntax-typescript, babel-plugin-transform-arrow-functions, babel-plugin-transform-async-to-generator, babel-plugin-transform-block-scoped-functions, babel-plugin-transform-block-scoping, babel-plugin-transform-classes, babel-plugin-transform-computed-properties, babel-plugin-transform-destructuring, babel-plugin-transform-dotall-regex, babel-plugin-transform-duplicate-keys, babel-plugin-transform-exponentiation-operator, babel-plugin-transform-flow-comments, babel-plugin-transform-flow-strip-types, babel-plugin-transform-for-of, babel-plugin-transform-function-name, babel-plugin-transform-instanceof, babel-plugin-transform-jscript, babel-plugin-transform-literals, babel-plugin-transform-member-expression-literals, babel-plugin-transform-modules-amd, babel-plugin-transform-modules-commonjs, babel-plugin-transform-modules-systemjs, babel-plugin-transform-modules-umd, babel-plugin-transform-named-capturing-groups-regex, babel-plugin-transform-new-target, babel-plugin-transform-object-assign, babel-plugin-transform-object-set-prototype-of-to-assign, babel-plugin-transform-object-super, babel-plugin-transform-parameters, babel-plugin-transform-property-literals, babel-plugin-transform-property-mutators, babel-plugin-transform-proto-to-assign, babel-plugin-transform-react-constant-elements, babel-plugin-transform-react-display-name, babel-plugin-transform-react-inline-elements, babel-plugin-transform-react-jsx-compat, babel-plugin-transform-react-jsx-development, babel-plugin-transform-react-jsx-self, babel-plugin-transform-react-jsx-source, babel-plugin-transform-react-jsx, babel-plugin-transform-react-pure-annotations, babel-plugin-transform-regenerator, babel-plugin-transform-reserved-words, babel-plugin-transform-runtime, babel-plugin-transform-shorthand-properties, babel-plugin-transform-spread, babel-plugin-transform-sticky-regex, babel-plugin-transform-strict-mode, babel-plugin-transform-template-literals, babel-plugin-transform-typeof-symbol, babel-plugin-transform-typescript, babel-plugin-transform-unicode-escapes, babel-plugin-transform-unicode-regex, babel-preset-env, babel-preset-flow, babel-preset-react, babel-preset-typescript, babel-register, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime, babel-standalone, babel-template, babel-traverse, babel-types
    :running_woman: Performance
    typescript-eslint/typescript-eslint

    v4.27.0

    Compare Source

    Bug Fixes
    • eslint-plugin: allow explicit any for no-unsafe-return (#​3498) (b15a2b2)
    • typescript-estree: allow providing more one than one existing program in config (#​3508) (4f1806e)
    • typescript-estree: support override modifier for parameter property (#​3485) (33b9f69)
    Features
    • ast-spec: specify LogicalExpression's operator type (#​3497) (9e343fd)
    • ast-spec: specify PunctuatorToken's value type (#​3496) (fdb1d81)
    • eslint-plugin: [prefer-literal-enum-member] add allowBitwiseExpressions option (#​3515) (288092a)
    • typescript-estree: add opt-in inference for single runs and create programs for projects up front (#​3512) (06c2d9b)
    • allow user to provide TS program instance in parser options (#​3484) (e855b18)

    4.26.1 (2021-06-07)

    Bug Fixes

    v4.26.1

    Compare Source

    Bug Fixes
    vuejs/vue-test-utils

    v1.2.1

    Compare Source

    This is a small release with just two minor bug fixes.

    Fixes

    • fix #​1845: add functional component check in component name match (#​1857)
    • updated router link stub to match actual router-link interface (#​1840)
    evanw/esbuild

    v0.12.8

    Compare Source

    • Plugins can now specify sideEffects: false (#​1009)

      The default path resolution behavior in esbuild determines if a given file can be considered side-effect free (in the Webpack-specific sense) by reading the contents of the nearest enclosing package.json file and looking for "sideEffects": false. However, up until now this was impossible to achieve in an esbuild plugin because there was no way of returning this metadata back to esbuild.

      With this release, esbuild plugins can now return sideEffects: false to mark a file as having no side effects. Here's an example:

      esbuild.build({
        entryPoints: ['app.js'],
        bundle: true,
        plugins: [{
          name: 'env-plugin',
          setup(build) {
            build.onResolve({ filter: /^env$/ }, args => ({
              path: args.path,
              namespace: 'some-ns',
              sideEffects: false,
            }))
            build.onLoad({ filter: /.*/, namespace: 'some-ns' }, () => ({
              contents: `export default self.env || (self.env = getEnv())`,
            }))
          },
        }],
      })
      

      This plugin creates a virtual module that can be generated by importing the string env. However, since the plugin returns sideEffects: false, the generated virtual module will not be included in the bundle if all of the imported values from the module env end up being unused.

      This feature was contributed by @​chriscasola.

    • Remove a warning about unsupported source map comments (#​1358)

      This removes a warning that indicated when a source map comment couldn't be supported. Specifically, this happens when you enable source map generation and esbuild encounters a file with a source map comment pointing to an external file but doesn't have enough information to know where to look for that external file (basically when the source file doesn't have an associated directory to use for path resolution). In this case esbuild can't respect the input source map because it cannot be located. The warning was annoying so it has been removed. Source maps still won't work, however.

    v0.12.7

    Compare Source

    • Quote object properties that are modern Unicode identifiers (#​1349)

      In ES6 and above, an identifier is a character sequence starting with a character in the ID_Start Unicode category and followed by zero or more characters in the ID_Continue Unicode category, and these categories must be drawn from Unicode version 5.1 or above.

      But in ES5, an identifier is a character sequence starting with a character in one of the Lu, Ll, Lt, Lm, Lo, Nl Unicode categories and followed by zero or more characters in the Lu, Ll, Lt, Lm, Lo, Nl, Mn, Mc, Nd, Pc Unicode categories, and these categories must be drawn from Unicode version 3.0 or above.

      Previously esbuild always used the ES6+ identifier validation test when deciding whether to use an identifier or a quoted string to encode an object property but with this release, it will use the ES5 validation test instead:

      // Original code
      x.ꓷꓶꓲꓵꓭꓢꓱ = { ꓷꓶꓲꓵꓭꓢꓱ: y };
      
      // Old output
      x.ꓷꓶꓲꓵꓭꓢꓱ = { ꓷꓶꓲꓵꓭꓢꓱ: y };
      
      // New output
      x["ꓷꓶꓲꓵꓭꓢꓱ"] = { "ꓷꓶꓲꓵꓭꓢꓱ": y };
      

      This approach should ensure maximum compatibility with all JavaScript environments that support ES5 and above. Note that this means minified files containing Unicode properties may be slightly larger than before.

    • Ignore tsconfig.json files inside node_modules (#​1355)

      Package authors often publish their tsconfig.json files to npm because of npm's default-include publishing model and because these authors probably don't know about .npmignore files. People trying to use these packages with esbuild have historically complained that esbuild is respecting tsconfig.json in these cases. The assumption is that the package author published these files by accident.

      With this release, esbuild will no longer respect tsconfig.json files when the source file is inside a node_modules folder. Note that tsconfig.json files inside node_modules are still parsed, and extending tsconfig.json files from inside a package is still supported.

    • Fix missing --metafile when using --watch (#​1357)

      Due to an oversight, the --metafile setting didn't work when --watch was also specified. This only affected the command-line interface. With this release, the --metafile setting should now work in this case.

    • Add a hidden __esModule property to modules in ESM format (#​1338)

      Module namespace objects from ESM files will now have a hidden __esModule property. This improves compatibility with code that has been converted from ESM syntax to CommonJS by Babel or TypeScript. For example:

      // Input TypeScript code
      import x from "y"
      console.log(x)
      
      // Output JavaScript code from the TypeScript compiler
      var __importDefault = (this && this.__importDefault) || function (mod) {
          return (mod && mod.__esModule) ? mod : { "default": mod };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      const y_1 = __importDefault(require("y"));
      console.log(y_1.default);
      

      If the object returned by require("y") doesn't have an __esModule property, then y_1 will be the object { "default": require("y") }. If the file "y" is in ESM format and has a default export of, say, the value null, that means y_1 will now be { "default": { "default": null } } and you will need to use y_1.default.default to access the default value. Adding an automatically-generated __esModule property when converting files in ESM format to CommonJS is required to make this code work correctly (i.e. for the value to be accessible via just y_1.default instead).

      With this release, code in ESM format will now have an automatically-generated __esModule property to satisfy this convention. The property is non-enumerable so it shouldn't show up when iterating over the properties of the object. As a result, the export name __esModule is now reserved for use with esbuild. It's now an error to create an export with the name __esModule.

      This fix was contributed by @​lbwa.

    taoqf/node-fast-html-parser

    v3.3.5

    Compare Source

    • Merge pull request #​127 from jesperhag/main 094e7d7
    • Bump css-select to ^4.1.3 to resolve https://npmjs.com/advisories/1754 391a8c8
    • Merge pull request #​125 from milahu/patch-1 c1da3dd
    • package.json: add prepare script 366d048
    rollup/rollup

    v2.51.2

    Compare Source

    2021-06-11

    Bug Fixes
    • Include modules imported from no-treeshake modules even if they would be empty (#​4138)
    Pull Requests

    v2.51.1

    Compare Source

    2021-06-08

    Bug Fixes
    • Fix error when using defineConfig (#​4134)
    Pull Requests
    sass/dart-sass

    v1.35.0

    Compare Source

    • Fix a couple bugs that could prevent some members from being found in certain files that use a mix of imports and the module system.

    • Fix incorrect recommendation for migrating division expressions that reference namespaced variables.

    JS API
    • Add a quietDeps option which silences compiler warnings from stylesheets loaded through importers and load paths.

    • Add a verbose option which causes the compiler to emit all deprecation warnings, not just 5 per feature.

    vuejs/vue

    v2.6.14

    Compare Source

    Bug Fixes
    Features

    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
Releases(v2.15.7)
  • 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 ⚠️

    🐛 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)
  • v2.10.2(Oct 21, 2019)

    🐛 Bug Fixes

    • webpack
      • #6495 Enable devtool for dev mode
      • #6566 Normalize devtool for terser compatibility
    • config
      • #6583 Typo in unsafeInlineCompatibility name
    • vue-app
      • #6590 Fix collapsed SSR log

    📝 Examples

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

    💖 Thanks to

    • @PedroD
    • Stephan Besser (@reskume)
    Source code(tar.gz)
    Source code(zip)
Owner
Nuxt
The Intuitive Vue.js Framework
Nuxt
A super fast SSR framework for Vue.js.

Ream A super fast SSR framework for Vue.js. ❤️ Please sponsor me to support this project or prioritize a feature you want. I will work on this project

Ream 589 Jun 2, 2021
🔥 A Vue-based server-side rendering framework

vapper Documentation Developed and maintained by Front-end team of water drop Setup Project git clone https://github.com/vapperjs/vapper.git cd vapper

SDFED 453 Apr 15, 2021
Vue CLI plugin to create universal Vue applications with ease

UVue Build universal Vue applications with ease Documentation Live demo CodeSandbox template Discord chat Getting started Install vue add @uvue/ssr Th

UVue 121 Apr 29, 2021