惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
爱范儿
爱范儿
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
IT之家
IT之家
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
G
Google Developers Blog
V
V2EX
雷峰网
雷峰网
美团技术团队
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
V
Visual Studio Blog
J
Java Code Geeks

Vercel News

Vercel Open Source Program: Winter 2026 cohort How Notion Workers run untrusted code at scale with Vercel Sandbox How we run Vercel's CDN in front of Discourse From idea to secure checkout in minutes with Stripe Building Slack agents can be easy Scaling redirects to infinity on Vercel Advancing Python typing Gamma builds design-first agents with Vercel How Avalara turns pipe dreams into patent-pending with v0 Keeping community human while scaling with agents How OpenEvidence built a healthcare AI that physicians actually trust Security boundaries in agentic architectures Skills Night: 69,000+ ways agents are getting smarter Video Generation with AI Gateway We Ralph Wiggumed WebStreams to make them 10x faster How Stably ships AI testing agents in hours, not weeks How we built AEO tracking for coding agents Anyone can build agents, but it takes a platform to run them Introducing Geist Pixel The Vercel AI Accelerator is back with $6m in credits Making agent-friendly pages with content negotiation The Vercel OSS Bug Bounty program is now available Introducing the new v0 Run untrusted code with Vercel Sandbox, now generally available How Stripe built a game-changing app in a single flight with v0 How Sensay went from zero to product in six weeks AGENTS.md outperforms skills in our agent evals Agent skills explained: An FAQ Testing if "bash is all you need" AWS databases are now live on the Vercel Marketplace and v0
Next.js 6 and Nextjs.org - Vercel – Vercel
2018-05-16 · via Vercel News

4 min read

This year, the ZEIT Day Keynote started by highlighting our Open Source projects including showing the metrics of Next.js. With over 25000 stars on GitHub and over 10000 websites are already powered by it, we're incredibly amazed at its growth and love seeing the increasing amount of projects depending on it.

We are proud today to introduce the production-ready Next.js 6, featuring:

  • Zero-configuration static exports. No need for next.config.js by default

  • _app.js, an extension point that enables page transitions, error boundaries and more

  • Babel 7 and Fragment syntax <> support

  • Extended integration test suites with a strong focus on security

  • Flow annotations in the core codebase

In addition to the 6.0 release, we're moving to feature Next.js on its very own homepage, nextjs.org, featuring:

Link to headingStatic React Applications

Next.js focuses on the idea of pre-rendering as a means to achieve high performance. Pre-rendering comes in two forms:

  • Server rendering where each request triggers a render. As a result, the end-user doesn't have to wait for any JS to be downloaded to start consuming data

  • Static rendering where we output static files that can be served directly without any code execution on the server

Until now, static exporting in Next.js was very powerful but not sufficiently easy to use. It required setting up a manual route map even when no custom routes were in use.

With Next.js 6, we automatically generate the route map for you based on the content of your pages/ directory. If you're not using advanced custom routing, you won't have to make any modifications to next.config.js. Just run:

next build

next export

For an example, check out this website deployed statically to Vercel. The websites source code is available too.

Link to headingApp Component

Next.js offers an extensibility point called _document.js. If defined, it lets you override the very top-level document of your application, which renders the <html> element.

_document.js allows for powerful extensibility, but it has some serious limitations. For example, React is not able to render <html> or <body> directly on the client side, so _document.js is mostly limited to the initial pre-rendering phase.

To enable some other powerful use cases, we're introducing _app.js, which is the top-level component that wraps the outside of each page.

Some differences between `_document.js` and `_app.js`.

Some differences between `_document.js` and `_app.js`.

Let's look at some use cases that defining _app.js enables.

Link to headingPage Transitions

Page transitions example: `page-transitions-app-next.now.sh` by Xavier Cazalot (Source)

In this example, each page can be independently accessed, pre-rendered and lazy-loaded. However, when we transition on the client side, smooth animations are possible.

Link to headingBetter Apollo and Redux Integration

We already had numerous examples of integrating data and state management frameworks like Apollo and Redux.

With _app.js, however, it's now even simpler to include these. Here are a few examples:

Link to headingBetter Error Handling

React offers a component method called componentDidCatch which enables you to capture and handle exceptions that bubble up from nested components on the client side.

In many cases, due to the unexpected nature of these exceptions, you might want to handle all of them equally at the top level.

_app.js is, therefore, a good place to define that componentDidCatch logic. Here's an example of error handling boundaries in action (source code)

Link to headingBabel 7

We have upgraded Babel to its latest version: 7. With it comes some great new features and improvements.

Link to headingJSX Fragments

React 16.2 introduced the Fragment API, which allows you to express a list of elements without having to wrap them in an arbitrary HTML element like <div>:

render() {

return <React.Fragment>

<A />,

<B />

</React.Fragment>

}

Writing this can be tedious, with Next.js 6 you can use the new JSX fragment syntax to facilitate creating fragments:

render() {

return <>

<A />,

<B />

</>

}

Link to headingNested .babelrc

If you have a directory nested in your Next.js applications that require a different Babel configuration, it's now possible to include a scoped .babelrc file specifically in that directory

src/

.babelrc # General .babelrc

components/

i18n/

.babelrc # This .babelrc only applies to this directory

Link to headingFirst-class TypeScript Support

When we announced Universal webpack, we pointed out it was possible to use TypeScript via ts-loader, as we now run webpack both on the server and the client.

Babel 7 features built-in support for TypeScript (previously only Flow was supported by Babel).

To use it, just install the latest version of @zeit/next-typescript or check out this example.

Link to headingNextjs.org

We are very happy to introduce the new nextjs.org, built by Next.js core contributor Jimmy Moon.

To start off, we highlight a sped-up video that shows you how to create a PWA with server-rendering from scratch in 5 minutes:

Link to headingOne place for our documentation

When you need to look up something quickly, just head to nextjs.org/docs:

The documentation will always reflect the latest stable version

The documentation will always reflect the latest stable version

Link to headingLearn, step-by-step

Previously, we would recommend beginners to head to https://learnnextjs.com for a step-by-step guide (with quizzes!) on how to get started with Next.js

Now we've integrated it directly into nextjs.org/learn to make it even easier start learning:

The easiest way to start learning Next.js

The easiest way to start learning Next.js

Link to headingGet Inspired

We are now featuring a showcase of some nice-looking websites and applications built on Next.js. Head to nextjs.org/showcase to get inspired, or submit your own!

Showcase of projects built with Next.js

Showcase of projects built with Next.js