iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0

介紹

Next.js 套件中有個比較輕量級,material design 的 React-md ,很容易的使用設定上比較簡單這邊來介紹這個 React-md 好玩意兒,不同 Css in Js 這套是由 Sass build出 靜態css 使用

安裝這套要先安裝這兩個

    "react-addons-css-transition-group"
    "react-addons-transition-group"

這套的使用重點在於 Head 直接加入 css ,static是靜態檔案存放位置 ,也意味著如果要改變 react-md 佈景就要透過 node-sass 去建立css檔案 例如底下的 /static/react-md.light_blue-yellow.min.css 就要使用node-sass 產出

import Head from 'next/head'
省略

<Head>
<link rel='stylesheet' href='/static/react-md.light_blue-yellow.min.css' />
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Roboto:300,400,500' />
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Material+Icons' />
      </Head>

官方也有提供一個 theme build ,非常方便選好後就可以使用
https://react-md.mlaursen.com/customization/theme-builder

https://ithelp.ithome.com.tw/upload/images/20171218/201034382VkXQDmQ4N.png

注意要在 next.config.js webpack 中設定 delete ,這是避免 Server 無法 resolver
可以參考這個討論串
https://github.com/zeit/next.js/issues/2324

module.exports = {
  webpack: function (config) {
    if (config.resolve.alias) {
      delete config.resolve.alias['react']
      delete config.resolve.alias['react-dom']
    }
    return config
  }
}

這邊再補充一下 使用React-Md,切入點通常會選擇使用 NavigationDrawer 來當作 起始的元件 這個物件就包含了所有基本的Layout ,參考網址
https://react-md.mlaursen.com/components/navigation-drawers

總結

對sass 語法熟悉的朋友,可以考慮使用 react-md 設定不需要像 Css In Js 考慮到許多 SSR ,直接就是在Head裡面塞入一個靜態的css , 對入門的朋友非常快速就可以上手,文件也非常齊全小巧好用

Next.js 官方範例

https://github.com/zeit/next.js/tree/canary/examples/with-react-md

React-md 官網

https://react-md.mlaursen.com/


上一篇
Next.js & Webpack-Bundle-Analyzer
下一篇
NEXT.JS & Page Transitions
系列文
Next.js + 各種套件組合30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言