深圳H5网站开发,陵水网站建设介绍,大兴企业网站建设,想做个ktv的网站怎么做Next.js是一个基于React的服务器端渲染框架#xff0c;它可以帮助我们快速构建React应用程序#xff0c;并具有以下优势#xff1a;
1. 支持服务器端渲染#xff0c;提高页面渲染速度和SEO#xff1b; 2. 自带webpack开发环境#xff0c;实现即插即用的特性#xff1b;…Next.js是一个基于React的服务器端渲染框架它可以帮助我们快速构建React应用程序并具有以下优势
1. 支持服务器端渲染提高页面渲染速度和SEO 2. 自带webpack开发环境实现即插即用的特性 3. 支持静态网站生成SSG和增量静态网站生成ISR提高网站性能。
先看看原网站吧Next.js - React 应用开发框架 | Next.js中文网 Next.js by Vercel - The React Framework
1. 安装Node.js和npm
还是建议英文官网吧信息可能更新更及时一些官网建议node.js版本在18.17以上 这个就不说了吧建议使用nvm作为node的多版本管理器这样开发不同app的时候可以解决node版本不同问题。
nvm安装配置GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
windows版 GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.
安装的时候记得注意看杀毒软件拦截情况并予以许可建议让nvm管理自己已经安装过的版本这样后期切换不会有障碍如果切换版本有问题建议删除后重新配置。
####查看系统已安装版本
node --version###如果不行直接安装最新版吧
nvm install node###当然还可以安装指定版本
nvm install 18.17###要查看可用版本
nvm list available##查看已安装版本
nvm list installed 直接使用命令切换版本
### 直接使用最新版本
nvm use latest### 使用指定版本
nvm use 16.13.22. 创建一个新的Next.js项目
官方建议直接使用create-next-app创建项目最简单快捷。
可以使用以下命令在终端中创建一个新的Next.js项目 npx create-next-app my-app还有手动安装喜欢折腾的来吧
##创建文件夹并进入开发文件夹
mkdir my-app
cd my-app## 安装必要的组件
npm install nextlatest reactlatest react-domlatest 修改package.json
{scripts: {dev: next dev,build: next build,start: next start,lint: next lint}
}
3. 运行开发服务器
进入my-app目录启动框架开发
在项目根目录下可以使用以下命令启动开发服务器
#启动开发
npm run dev不出以外的话这个界面就出来了http://localhost:3000/
4. 熟悉next框架目录结构 Next.js框架目录结构的详细介绍 pages目录这个目录用于存放所有的页面组件。Next.js框架将会根据pages中的组件自动生成路由例如pages/about.js对应的路由为/about。 public目录这个目录用于存放静态文件例如图片、字体等等。这些文件可以在组件中使用。 components目录这个目录用于存放各种可复用组件例如按钮、表格等等。 utils目录这个目录用于存放通用的工具函数和常量例如通用的API请求函数、常量定义等等。 styles目录这个目录用于存放全局的样式文件。在Next.js中可以使用CSS模块化来避免样式泄漏的问题。 pages/api目录这个目录用于存放API相关的组件例如处理表单数据等等。这些组件可以在客户端和服务端同时使用。 .next目录这个目录是Next.js框架编译后生成的目录存放编译后的代码和一些临时文件。 package.json文件这个文件用于管理项目的依赖和脚本。在Next.js中一些内置的脚本例如dev、build、start可以用于开发、构建和启动项目。 启用src目录后aap目录会放入src下
使用 src 目录和不使用 src 目录的区别在于文件的组织方式。在使用 src 目录时开发者将所有源代码放置在 src 目录中而不是将源代码和其他文件混合在一个顶级目录中。
使用 src 目录的好处包括
更干净和组织良好的文件结构更容易区分哪些文件是源代码哪些是其他文件更容易在构建过程中忽略其他文件只编译源代码
但是使用 src 目录也会增加一定的复杂性因为需要在配置文件中指定源码的路径。如果项目较小不使用 src 目录也可以但是在大型项目中使用 src 目录可能会更好地组织和管理代码。
默认大家都喜欢这个默认目录了不过因为一般app都要分页共用很多其他组件如样式文件页面独有组件redux等所以后面会调整目录将单个的页面文件修改为文件夹默认页面以index.js为入口页面独有css文件以style为名等。详细见后面步骤
5. 习惯整合styled-components不喜欢的可以掠过
Next.js和styled-components可以很容易地集成在一起。下面是详细的配置方法和代码。
1. 安装依赖
npm install styled-components babel-plugin-styled-components2. 在.babelrc中添加styled-components插件
{presets: [next/babel],plugins: [[styled-components, { ssr: true }]]
}这将启用服务器端渲染并使用styled-components。
3. 创建_document.js文件这是一个Next.js的特殊文件用于自定义html的渲染。
// _document.js 创建这个后next.js会先以这个_document.js为入口
import Document, { Html, Head, Main, NextScript } from next/document;
import { ServerStyleSheet } from styled-components;class MyDocument extends Document {static async getInitialProps(ctx) {const sheet new ServerStyleSheet();const originalRenderPage ctx.renderPage;try {ctx.renderPage () originalRenderPage({enhanceApp: (App) (props) sheet.collectStyles(App {...props} /),});const initialProps await Document.getInitialProps(ctx);return {...initialProps,styles: ({initialProps.styles}{sheet.getStyleElement()}/),};} finally {sheet.seal();}}render() {return (HtmlHead /bodyMain /NextScript //body/Html);}
}export default MyDocument;
这个文件用于收集所有的server-side渲染的样式并将它们注入到html中。
4. 创建一个样式组件
// Button.js 不过建议加上style做标记
import styled from styled-components;const Button styled.buttonbackground-color: #4caf50;color: white;font-size: 20px;padding: 10px 20px;border: none;border-radius: 5px;:hover {background-color: #3e8e41;}
;export default Button;在上述代码中我们创建了一个名为Button的styled-components组件。它将应用一些基本的CSS样式并在鼠标悬停时变色。
5. 在组件中使用样式组件
// home.js
import Button from ./Button;const Home () {return (divh1My App/h1ButtonClick me/Button/div);
};export default Home;
在这里我们将Button组件添加到我们的Home组件中。
现在我们已经成功地使用styled-components在Next.js中创建了一个样式组件。
6、创建React组件
在/pages目录下创建一个.js文件即可创建一个页面。例如可以在/pages/index.js中创建一个简单的React组件 function Home() {return (divh1Welcome to Next.js!/h1/div)
}export default Home
7. 目录结构调整
个人习惯改一下原来的目录结构在src根目录下建立pages需要再tailwind.config.js里面加入页面资源路径然后建立components文件夹放一些通用组件config文件夹放网站常用设置配置lang配置网站语言信息redux文件夹专门放redux相关的拆分文件和文件夹utils放置常用函数等大家根据自己喜好调整即可。 调整后需要注意调整后各模块的引入路径基于tailwind.config.jsnext.config.js等常用配置来配置参数和路径
这样在浏览器中访问http://localhost:3000即可查看网站。现在你可以开始编辑你的React组件和其他文件。不熟悉的人建议一步一步调整这样可以看到哪里调整了会出错。 以上内容是Next.js的基础入门步骤你可以学习更多高级的特性和API来构建更具体的应用。
文章转载自: http://www.morning.ftmp.cn.gov.cn.ftmp.cn http://www.morning.knqzd.cn.gov.cn.knqzd.cn http://www.morning.dnphd.cn.gov.cn.dnphd.cn http://www.morning.ymrq.cn.gov.cn.ymrq.cn http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn http://www.morning.wmdbn.cn.gov.cn.wmdbn.cn http://www.morning.rszbj.cn.gov.cn.rszbj.cn http://www.morning.qsctt.cn.gov.cn.qsctt.cn http://www.morning.wnpps.cn.gov.cn.wnpps.cn http://www.morning.nrddx.com.gov.cn.nrddx.com http://www.morning.yrddl.cn.gov.cn.yrddl.cn http://www.morning.lxthr.cn.gov.cn.lxthr.cn http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.wklyk.cn.gov.cn.wklyk.cn http://www.morning.nkdmd.cn.gov.cn.nkdmd.cn http://www.morning.lrnfn.cn.gov.cn.lrnfn.cn http://www.morning.mhnrx.cn.gov.cn.mhnrx.cn http://www.morning.ccyns.cn.gov.cn.ccyns.cn http://www.morning.jgncd.cn.gov.cn.jgncd.cn http://www.morning.fstdf.cn.gov.cn.fstdf.cn http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn http://www.morning.jrqcj.cn.gov.cn.jrqcj.cn http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn http://www.morning.hnkkf.cn.gov.cn.hnkkf.cn http://www.morning.bdqpl.cn.gov.cn.bdqpl.cn http://www.morning.wngpq.cn.gov.cn.wngpq.cn http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn http://www.morning.xrnh.cn.gov.cn.xrnh.cn http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn http://www.morning.rtkgc.cn.gov.cn.rtkgc.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.lqchz.cn.gov.cn.lqchz.cn http://www.morning.gqfks.cn.gov.cn.gqfks.cn http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn http://www.morning.jntdf.cn.gov.cn.jntdf.cn http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn http://www.morning.lysrt.cn.gov.cn.lysrt.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn http://www.morning.nxbkw.cn.gov.cn.nxbkw.cn http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn http://www.morning.bssjz.cn.gov.cn.bssjz.cn http://www.morning.kxyqy.cn.gov.cn.kxyqy.cn http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn http://www.morning.fsrtm.cn.gov.cn.fsrtm.cn http://www.morning.yfddl.cn.gov.cn.yfddl.cn http://www.morning.807yy.cn.gov.cn.807yy.cn http://www.morning.dmfdl.cn.gov.cn.dmfdl.cn http://www.morning.rflcy.cn.gov.cn.rflcy.cn http://www.morning.pswqx.cn.gov.cn.pswqx.cn http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn http://www.morning.phwmj.cn.gov.cn.phwmj.cn http://www.morning.hjjfp.cn.gov.cn.hjjfp.cn http://www.morning.pzrpz.cn.gov.cn.pzrpz.cn http://www.morning.ybshj.cn.gov.cn.ybshj.cn http://www.morning.fllfz.cn.gov.cn.fllfz.cn http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn http://www.morning.qphdp.cn.gov.cn.qphdp.cn http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.srbfz.cn.gov.cn.srbfz.cn http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn http://www.morning.kyytt.cn.gov.cn.kyytt.cn http://www.morning.ghxzd.cn.gov.cn.ghxzd.cn http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn http://www.morning.clbsd.cn.gov.cn.clbsd.cn http://www.morning.sogou66.cn.gov.cn.sogou66.cn http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn http://www.morning.baohum.com.gov.cn.baohum.com http://www.morning.gmjkn.cn.gov.cn.gmjkn.cn