2016-08-17 20 views
0

當我的服務器渲染的通用React頁面的客戶端禁用Javascript時,什麼是調用不同CSS的最佳實踐?無Javascript的Universal React

我試過在html標籤上使用className =「no-js」包含Modernizr,但沒有被編輯。

我設法讓一些東西工作,如下所示,但必須有一個更好的方法。

<link rel="stylesheet" href="/public/css/script.css" /> 
<noscript> 
    <link rel="stylesheet" href="/public/css/noscript.css" /> 
</noscript> 

我查找了一些例子,但沒有找到任何相關的東西。

回答

1

在服務器渲染的應用程序,你可以有許多數據源之一:

  • 查詢參數
  • 餅乾
  • POST數據

對服務器端的唯一輸入代碼是在您的瀏覽器中加載應用中的頁面時發出的請求。您可以選擇在引導期間配置服務器(例如,當您在開發與生產環境中運行時),但該配置是靜態的。

該請求包含有關所請求的URL的信息,包括任何查詢參數,這些參數在使用類似React Router時很有用。它也可以包含帶有Cookie或授權等輸入的標題或POST正文數據。

在腳本/無腳本映射,你可以設置一些默認的一個:

  • 渲染無腳本作爲默認,然後經由CSSOM
  • 即成無腳本注入腳本特定CSS重寫它然後跳轉到基於cookie的腳本路由
  • 創建一個將腳本功能發佈到服務器的表單,然後將其用作跳轉頁面以避免標記中的無腳本/腳本

參考