Next.js
将 Reflexjs 添加到 Next.js项目。
使用一个启动器
最简单的入门方法是使用nextjs-starter模板。该模板具有你所需的全部自动设置。
npx create-next-app -e https://github.com/reflexjs/nextjs-starter
在你的网站准备就绪后,你可以运行 yarn dev
来启动开发环境。
添加到现有网站
如果你要从头开始,那么可以使用create-next-app创建一个新的 Next.js 项目。
npx create-next-app# oryarn create next-app
你也可以将 Reflexjs 添加到一个已有的 Next.js 网站。
安装依赖
将 Reflexjs 添加到你的网站。
npm i reflexjs# oryarn add reflexjs
创建一个主题
使用 Reflexjs CLI 工具生成一个主题。
npx reflexjs --preset base
这将在你的项目根目录使用*基本*预设创建一个 theme.js
文件。
更新_app.js
用以下代码创建 src/pages/_app.js
src/pages/_app.jsimport { ThemeProvider } from "reflexjs"import theme from "../src/theme"export default function App({ Component, pageProps }) {return (<ThemeProvider theme={theme}><Component {...pageProps} /></ThemeProvider>)}
更新_document.js
将 InitializeColorMode
添加到 src/pages/_document.js
src/pages/_document.jsimport Document, { Html, Main, NextScript, Head } from "next/document"import { InitializeColorMode } from "reflexjs"export default class extends Document {render() {return (<Html lang="en"><Head /><body><InitializeColorMode /><Main /><NextScript /></body></Html>)}}
添加 Babel 预设
Reflexjs 使用自定义 jsx
pragma 来转换样式属性。如需启用此 pragma,请在你的项目根目录创建一个包含以下信息的 .babelrc
文件
{"presets": [["next/babel",{"preset-react": {"runtime": "automatic","importSource": "reflexjs"}}]]}
此预设自动为你设置 `jsx` pragma,这样你就不必在各个文件中进行导入。
如果你更愿意手动启用它,则可以按照以下方式在你的文件中设置 pragma
pages/index.tsx/** @jsxImportSource "reflexjs" */export default function IndexPage() {return <p variant="text">Hello World!</p>}
你现在准备好了使用 yarn dev
启动开发服务器。