1. 程式人生 > 實用技巧 >React的安裝和使用

React的安裝和使用

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/ (一般自動重新整理),輸出結果如下: