1. 程式人生 > >React 學習(七) ---- create-react-app

React 學習(七) ---- create-react-app

就是 提示 all 上網 一是 成功 原來 type 但是

  現在react 基礎知識已經算是學完了,知道了React是做什麽的,以及怎麽使用,是時候學習一個webpack, babel 等現代化前端開發了,真正做項目的時候,我們不可能再使用babel 的線上編譯,一是很慢,二是我們寫代碼沒有提示,因為我們在script標簽中加入了type= ‘text/babel‘, 影響開發效率。如果實在不學也沒有關系,react的提供了create-react-app腳手架工具, 和vue-cli 一樣,它幫你配置好了webpack/babel 等,我們直接書寫代碼就可以了。 打開命令行,全局安裝npm install create-react-app -g 然後創建項目時,用create-react-app 項目名就可以了。

  當我們使用create-react-app來創建應用時,發現它非常慢,上網搜了一下,看能不能能快一點? 網上提供了以下說法,可以試一下。

  因為create-react-app是從npm 官網下載依賴,而我們平時使用cnpm 來安裝依賴,它比較快,是因為從淘寶鏡像來安裝依賴,我們能不能也讓create-react-app從淘寶鏡像下載依賴,那是可以的,就是把npm的register給永久設置成淘寶鏡像的地址,打開cmd 窗口, 輸入命令npm config set registry https://registry.npm.taobao.org即可,可以用以下命令查看成一下是否成功。npm config get registry。 這時我們再用create-react-app 創建項目時,可以發現它是從淘寶鏡像下載依賴,速度相對快一些.

  我在這裏碰到一個小問題: 把源變成了淘寶鏡像,以後直接可以使用npm install 安裝依賴了,但是有一天當我npm install node-sass ,sass-loader時,它下載不下來node-sass, 不知道 為什麽,當我們改用cnpm 去安裝時,它卻很快。

  用create-react-app 創建項目成功後,當我們打開package.json文件,發現它並沒有我們平時所安裝的webpack, babel 等依賴,而是多了一個react-scripts 依賴。原來React 把所有的webpack babel配置都放到了react-scripts中,這樣我們想修改一下webpack的配置文件就很困難了。還好 React給我們提供了一個命令eject,可把react-scripts打開,看到它封裝的配置文件, eject命令就在scripts 字段的下面,我們執行npm run eject 就可以了。 命令執行完成後,再看一下package.json, 和我們平時經常見的一致了。而且多了config和scripts目錄,它裏面就是webpack的配置文件。 但是這個命令是單向,不可逆的,我們打開react-scripts以後,就不可能再回去了。

  除了webpack、babel構建工具以外,我們還要學習react 的狀態管理---Redux或Mobx, 因為如果應用比較大時,每一個組件都有一個狀態,不太好管理。當用React 作單頁應用時,還要用到React-router.

React 學習(七) ---- create-react-app