美文网首页React.jsjavaScript
react ssr 之 next 最佳实战(一)

react ssr 之 next 最佳实战(一)

作者: 反者道之动001 | 来源:发表于2018-05-19 09:07 被阅读51次

    安利一下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 () => <div>Welcome to next.js!</div>
    :wq // 退出
    

    执行

    // 在执行的时候, 请保证3000端口没被占用
    // 如果端口已经存在, 要执行自定义端口,  npm run dev -- -p <your port here>.
    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 最佳实战(一)

        本文链接:https://www.haomeiwen.com/subject/wvhodftx.html