# 常见问题
Next.js 能用于生产环境吗?自 Next.js 被创建以来,https://vercel.com 网站就一直是基于 Next.js 构建的。
我们对 Next.js 在开发人员的体验和最终用户的表现上都感到欣喜,所以我们决定将其分享到整个社区。
文件体积有多大?客户端文件包的大小应当以每个应用程序为单位进行测量。经过压缩之后的 Next.js 应用程序的主文件包大约是 65kb。
如何修改内置 webpack 的配置?Next.js 尽力消除 webpack 的配置工作,但对于需要更多控制的高级使用场景,请参阅 自定义 webpack 配置
。
哪些语法会被转换?怎么修改配置?我们紧跟 V8 引擎的步伐。如今 V8 引擎广泛支持 ES6 语法以及 async 和 await 语法,所以我们支持转换它们。但是 V8 引擎不支持类修饰器(class decorators)语法,所以我们也不支持转换这些语法。
有关详细信息,请参阅有关 自定义babel配置
的文档。
为什么又造一个路由(Router)的轮子?Next.js 的特别之处在于:
- 路由不需要被提前知道,我们没有路由清单
- 路由永远支持懒加载Routes are always lazy-loadable
如何获取数据?这取决于你。你可以在 React 组件中使用 fetch API
或 SWR
获取远程数据,或者使用我们提供的 数据获取方式
进行初始数据的填充。
我可以使用 GraphQL 吗?是的! 这里有个例子 example with Apollo
。
我可以使用 Redux 吗?是的! 这里有个 示例
。还有一个 example with thunk
。
我可以将静态资源部署到 CDN 上吗?是的。您可以在 这里
了解到更多信息。
我可以将我喜欢的 JavaScript 库或工具包同 Next.js 一同使用吗?自从我们的第一次发布版本以来,社区成员已经贡献了许多示例。您可以在 examples
目录下找到。
是什么启发了你们?我们设定并实现的许多目标都是由 Guillermo Rauch 在 富 Web 应用程序的 7 个原则
中列出的。
PHP 的易用性是一个很好的灵感来源。我们认为 Next.js 可以替代很多需要用 PHP 输出 HTML 的场景。
与 PHP 不同的是,我们受益于 ES6 的模块系统,每个页面都导出一个组件或函数,该组件或函数可以很容易地导入(import)以进行延迟计算或测试。
当我们在研究服务器端渲染 React 并且不涉及大量繁琐步骤的技术时,我们遇到了 react-page
(现已弃用),一个由 Jordan Walke(同时还是 React 的创建者) 创建的类似 Next.js 的项目。
Can I make a Next.js Progressive Web App (PWA)?Yes! Check out our PWA Example
to see how it works.