React的安裝和使用
阿新 • • 發佈:2020-08-16
1.基本樣例
本教程使用了 React 的版本為 16.4.0,你可以在官網https://reactjs.org/下載最新版。
你也可以直接使用 Staticfile CDN 的 React CDN 庫,地址如下:
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script> <!-- 生產環境中不建議使用 --> <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
2.使用例項
以下例項輸出了 Hello, world!
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script> <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> ReactDOM.render(<h1>Hello, world!</h1>, document.getElementById('example') ); </script> </body> </html>
例項中我們引入了三個庫: react.min.js 、react-dom.min.js 和 babel.min.js:
- react.min.js- React 的核心庫
- react-dom.min.js- 提供與 DOM 相關的功能
- babel.min.js- Babel 可以將 ES6 程式碼轉為 ES5 程式碼,這樣我們就能在目前不支援 ES6 瀏覽器上執行 React 程式碼。Babel 內嵌了對 JSX 的支援。通過將 Babel 和 babel-sublime 包(package)一同使用可以讓原始碼的語法渲染上升到一個全新的水平。
3. 通過 npm 使用 React
如果你的系統還不支援 Node.js 及 NPM 可以參考我們的Node.js 教程。
我們建議在 React 中使用 CommonJS 模組系統,比如 browserify 或 webpack,本教程使用 webpack。
國內使用 npm 速度很慢,你可以使用淘寶定製的 cnpm (gzip 壓縮支援) 命令列工具代替預設的 npm:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ npm config set registry https://registry.npm.taobao.org
這樣就可以使用 cnpm 命令來安裝模組了:
$ cnpm install [name]
更多資訊可以查閱:http://npm.taobao.org/。
4. 使用 create-react-app 快速構建 React 開發環境
create-react-app 是來自於 Facebook,通過該命令我們無需配置就能快速構建 React 開發環境。
create-react-app 自動建立的專案是基於 Webpack + ES6 。
執行以下命令建立專案:
$ cnpm install -g create-react-app
$ create-react-app my-app
$ cd my-app/
$ npm start
在瀏覽器中開啟http://localhost:3000/,結果如下圖所示:
專案的目錄結構如下:
my-app/
README.md
node_modules/
package.json
.gitignore
public/
favicon.ico
index.html
manifest.json
src/
App.css
App.js
App.test.js
index.css
index.js
logo.svg
manifest.json 指定了開始頁面 index.html,一切的開始都從這裡開始,所以這個是程式碼執行的源頭。
嘗試修改 src/App.js 檔案程式碼:
src/App.js
import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; class App extends Component { render() { return ( <div className="App"> <div className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h2>歡迎來到菜鳥教程</h2> </div> <p className="App-intro"> 你可以在 <code>src/App.js</code> 檔案中修改。 </p> </div> ); } } export default App;
修改後,開啟 http://localhost:3000/ (一般自動重新整理),輸出結果如下: