react ssr 之 next 最佳实战(一)

安利一下next, react实现ssr超级好用的东西哈哈哈哈哈哈。

用它的理由

虽然react有提供renderToString和renderToStaticMarkup(第一个是生成完整的HTML, 第二个不包含额外的额外的data属性)

理论上只需要node搞下就可以了, 如果配合express、koa等框架就好了。

但是也是需要一些配置, 而next.js 就是零配置。

关于redux等方案, next.js也有例子

设置head tag, ajaxData 等都很方便

关于本博客

会出现最佳实践
在写这个的时候,我是一步一步运行, 以保证每一个细节都不会露。
如果出现错误, 那么就是next可能更新了, 或者npm跟nodejs的版本不对, 下面是next的github网址
以文字直播的形式写的

USE

mkdir一个工作区

mkdir mysyNext
cd mysyNext

install

npm install --save next react react-dom

初始化package.json

npm init -y

在package.json script里面添加这三条命令(dev、build、start)

{
  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start"
  }
}

在根目录下新建pages文件

mkdir pages

新建首页

cd pages
vim index.js
i // 写入内容
export default () => 
Welcome to next.js!
:wq // 退出

执行

// 在执行的时候, 请保证3000端口没被占用
// 如果端口已经存在, 要执行自定义端口,  npm run dev -- -p .
npm run dev

-----·
mmp, 遇到了一个错误(没遇到错误的不管他), next不存在, 原来刚刚install的时候不是在工作区(mysyNext), 这时候把文件给我拷回去, cd回退到工作区的上一级

mv node_modules ./mysyNext/

然后把上一级的package.json里的dependencies拷贝添加到工作区的package.json里, 拷贝如下

"dependencies": {
    "next": "^6.0.3",
    "react": "^16.3.2",
    "react-dom": "^16.3.2",
    "redux": "^4.0.0"
  }

-----·
再执行下。 这时候, 工作区域偷偷出现了.next的文件, 接着执行完成。
打开http://localhost:3000

这时候工作区长这样


参考链接
https://github.com/zeit/next.js
https://redux.js.org/recipes/server-rendering
https://github.com/zeit/next.js/tree/master/examples/with-redux

你可能感兴趣的:(react ssr 之 next 最佳实战(一))