Next.js+React+Node系统实战,搞定SSR服务器渲染fen享

341 阅读2分钟

创建Next.js项目

下哉G清ZY:https://www.97yrbl.com/t-1391.html

npm init next-app next-guide
npm run dev
复制代码
    1. 创建页面

在Next.js中,页面是呗放置在pages文件夹中的React组件,组件需要被默认导出,组件文件中不需要引入React,页面地址与文件地址是对应的关系。

pages/list.js

export default function List () {
    return <div>List</div>
}

// 访问
// localhost:3000/list.html
复制代码
    1. 页面跳转

要实现页面跳转需要用到一个组件Link, 默认是使用的Javacript进行页面转天,既SPA形式的跳转。

如果浏览器中JavaScript被禁用则会使用链接跳转。Link组件中不应添加除href属性以外的属性,其余属性添加到a标签上。

Link组件会通过预取功能自动优化应用程序以获得最佳性能。也就是当浏览器空闲的时候Link组件会预先去加载到Link中页面的内容,当我们访问的时候已经是家在完的,页面会很快。

import Link from 'next/link';

<Link href="/list"><a title="title">list page</a></Link>
复制代码

资源文件

应用程序跟目录中的public文件夹英语提供静态资源

通过以下形式进行访问, 不需要写出public路径。

pulic/images/1.jpg -> /images/1.jpg

  1. 修改页面源数据

可以通过Head组件来进行修改, 可以定制网页的源数据。

import Head from 'next/head';

<>
    <Head>
        <title>Index Page</title>
    </Head>
</>
复制代码
  1. CSS样式

为元素添加样式有多中,在Next.js中内置了styled-jsx, 他是一个css-in-js库,允许在React组件中编写css,css仅作用域组件内部。

<div>
    <div className="demo">test</div>
    <style jsx>{`
        .demo {
            color: red;
        }
    `}
    </style>
</div>
复制代码

还有一种是css模块的方式,通过使用css模块功能,允许将组件的css样式编写在单独的css文件中,css模块约定样式文件的名称必须为组件文件名称.modules.css

index.module.css

.p {
    color: green;
}
复制代码
import styles from './index.module.css';
<div className={styles.p}>test</div>