第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
慕課專欄

目錄

索引目錄

專業(yè)技術(shù)團(tuán)隊(duì)出品:React深度剖析+實(shí)戰(zhàn)

原價(jià) ¥ 58.00

立即訂閱
01 創(chuàng)建第一個(gè) React 應(yīng)用
更新時(shí)間:2020-07-17 15:38:39
才能一旦讓懶惰支配,它就一無(wú)可為。——克雷洛夫

引導(dǎo)語(yǔ)

眾所周知,學(xué)習(xí)一門技術(shù)最好的方法,就是實(shí)踐,大白話就是跟著我們一起敲代碼,我們學(xué)習(xí) React 亦是如此。由于開發(fā) React 應(yīng)用需要一個(gè)眾多開發(fā)工具組成的開發(fā)環(huán)境,因此在這之前,我們需了解其開發(fā)環(huán)境及開發(fā)工具,然后才能更好的開發(fā) React 應(yīng)用。了解完這些基礎(chǔ)之后,我們會(huì)帶大家來(lái)創(chuàng)建你的第一個(gè) React 應(yīng)用,并介紹一些容易遇到的細(xì)節(jié)問題。

資源

開發(fā)環(huán)境

1. Node.js

Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。React 應(yīng)用并不依賴于 Node.js 運(yùn)行,但是開發(fā)過程中的一些編譯過程(比如 npm,Webpack 等)都需要在 Node 環(huán)境下運(yùn)行。因此,開發(fā) React 應(yīng)用前,應(yīng)確保已經(jīng)安裝了 Node.js。

官方下載地址是 https://nodejs.org,穩(wěn)定版和最新版選擇一個(gè)版本下載即可(我們開發(fā)一般使用穩(wěn)定版)。

2. NPM

NPM 是 Node 的一個(gè)包管理工具,每個(gè)包都是一個(gè)模塊,能夠使你輕松下載、管理模塊依賴和版本。同樣的,在使用 React 開發(fā)應(yīng)用時(shí),會(huì)依賴很多模塊,這些模塊就可以通過 NPM 進(jìn)行下載。由于 NPM 已集成到了 Node.js 中,因此不用單獨(dú)下載。

當(dāng)然我們也可使用 yarn 模塊管理,本教程統(tǒng)一使用 npm 模塊管理。

開發(fā)工具

1. Webpack

Webpack 是一個(gè)前端資源加載和打包工具。Webpack 提供了模塊化的開發(fā)方式,將各種靜態(tài)資源視為模塊,如 JavaScript、CSS、圖片等,并通過 Webpack 生成優(yōu)化過的代碼。同樣在開發(fā) React 應(yīng)用時(shí)也要用到 Webpack 來(lái)進(jìn)行模塊打包。

Webpack 的安裝可以參考官網(wǎng)文檔。Webpack 的進(jìn)一步學(xué)習(xí)可以打開官網(wǎng),本小節(jié)不做詳細(xì)闡述。

2. Babel

Babel 是一個(gè) JavaScript 編譯器,主要用于將 ECMAScript 2015+ 版本的代碼轉(zhuǎn)換為向后兼容的 JavaScript 語(yǔ)法,以便能夠運(yùn)行在當(dāng)前和舊版本的瀏覽器或其他環(huán)境中。

由于我們?cè)陂_發(fā) React 應(yīng)用中,會(huì)用到很多 ES6 的語(yǔ)法,但目前瀏覽器并不完全支持,因此在 Webpack 編譯階段,利用 Babel 將 ES6 及其以后的語(yǔ)法編譯成 ES5 語(yǔ)法。

如何快速搭建 React 應(yīng)用

Webpack、Babel 等工具是開發(fā) React 應(yīng)用所必需的,但這些工具的使用、配置又比較繁瑣,需要大量學(xué)習(xí)才可以掌握。因此,本小冊(cè)借助官方提供的腳手架 Create React App 創(chuàng)建 React 應(yīng)用。該腳手架已經(jīng)將 Webpack、Babel 等工具的配置做了封裝,無(wú)需開發(fā)者做配置,提供了一個(gè)零配置的現(xiàn)代構(gòu)建。

Create React App 對(duì)于開發(fā)環(huán)境版本有一定的要求,具體如下:
npm 版本 >= 5.6
node 版本 >= 8.10

快速搭建 React 應(yīng)用需要四個(gè)步驟:

  1. 安裝官方腳手架;
  2. 創(chuàng)建 React 項(xiàng)目;
  3. 啟動(dòng)項(xiàng)目;
  4. 暴露配置項(xiàng)。

下面大家跟著本文來(lái)一步一步進(jìn)行操作。

1. 使用 npm 安裝官方腳手架

npm install -g create-react-app

安裝好之后,可以運(yùn)行:create-react-app --version 查看版本號(hào),如果版本號(hào)正常展示,證明安裝成功。

2. 創(chuàng)建 React 項(xiàng)目

create-react-app my-demo

這里項(xiàng)目名不能使用駝峰的形式(即不能包含大寫字母),不然會(huì)有以下報(bào)錯(cuò):name can no longer contain capital letters。

3. 啟動(dòng)項(xiàng)目

cd my-demo && npm start

此處也可使用 yarn 啟動(dòng)項(xiàng)目:yarn start,建議 yarn 和 npm 不要混用。

4. 暴露配置項(xiàng)

npm run eject

當(dāng)看到以下界面時(shí),說明你的 React 應(yīng)用就已經(jīng)安裝好了。

圖片描述

文件結(jié)構(gòu)

文件結(jié)構(gòu)一覽

接下來(lái),我們看下安裝好的 React 應(yīng)用的文件結(jié)構(gòu)。

├── README.md                   文檔 
├── package.json                npm 依賴
├── public                      靜態(tài)資源文件夾
│   ├── favicon.ico             網(wǎng)站icon圖標(biāo)
│   ├── index.html              模版
│   ├── logo192.png             192*192大小的react logo
│   ├── logo512.png             512*512大小的react logo
│   ├── manifest.json           移動(dòng)桌面快捷方式配置文件
│   └── robots.txt              網(wǎng)站與爬蟲間的協(xié)議
├── src                         源碼文件夾
│   ├── App.css
│   ├── App.js                  根組件
│   ├── App.test.js
│   ├── index.css               全局樣式
│   ├── index.js                入口文件
│   ├── logo.svg    
│   └── serviceWorker.js        PWA 支持
└── yarn.lock

創(chuàng)建你的 Hello World

為了快速了解 React,我們先改動(dòng)一個(gè)文件看看效果,從動(dòng)手嘗試中去學(xué)習(xí)。
打開 src/index.js 文件,可以看到 render 的模版是 App.js,代碼如下:

import React from 'react' // 使用JSX語(yǔ)法必須引入react
import ReactDOM from 'react-dom'
import App from './App.js'

ReactDOM.render(<App />, 
document.getElementById('root')) 

<App /> 是 JSX 語(yǔ)法(后面會(huì)講什么是 JSX 語(yǔ)法)。
root 是 index.html 模版里的元素,渲染出來(lái)的 App 組件放在此處。

我們來(lái)嘗試修改 App.js 文件:

// src/App.js
import React from 'react'
import './App.css'

function App() {
    return (
        <div className="App">
            <header className="App-header">
                <p>
                  hello world
                </p>
            </header>
        </div>
    )
}

export default App

可以看到上面代碼中,我們將 header 中的內(nèi)容換成了我們自己的,保存代碼,瀏覽器會(huì)自動(dòng)幫我們刷新,接著我們就能看到頁(yè)面展示如下:
圖片描述
到此,我們已經(jīng)完成了使用 React 的第一步。

樣式引入之 Sass

我們?cè)陂_發(fā)過程中,通常不會(huì)使用原生的 CSS 直接開發(fā),而是會(huì)選擇 CSS 預(yù)處理語(yǔ)言,比如 Sass,使用 Sass 會(huì)極大的提高我們書寫 CSS 的效率。

Sass 的安裝

  1. 首先,讓我們一起來(lái)安裝 Sass,create-react-app 腳手架中已經(jīng)添加了 sass-loader 的支持,只需要安裝 node-sass 插件即可, 使用如下命令即可直接安裝 Sass。
npm install node-sass --save-dev

在上面命令中,我們使用了 --save-dev 后綴,其代表將 Sass 安裝在了開發(fā)環(huán)境。

安裝好 Sass 之后,我們可以在項(xiàng)目中直接引入并使用 Sass 。

  1. create-react-app 腳手架中已經(jīng)添加了 sass-loader 的支持,想要查看配置,執(zhí)行 npm run eject ,隱藏的配置都會(huì)展示出來(lái),打開 config/webpack.config.js 文件,會(huì)找到如下幾行代碼:
const sassRegex = /\.(scss|sass)$/; // 正則:以 .scss 或者 .sass 結(jié)尾
const sassModuleRegex = /\.module\.(scss|sass)$/; // 正則:以 .module.scss 或者 .module.sass 結(jié)尾
// ...
{
    test: sassRegex,
    exclude: sassModuleRegex,
    use: getStyleLoaders(
        {
          importLoaders: 2,
          sourceMap: isEnvProduction && shouldUseSourceMap,
        },
        'sass-loader'
    ),
    sideEffects: true,
},
{
    test: sassModuleRegex,
    use: getStyleLoaders(
    {
      importLoaders: 2,
      sourceMap: isEnvProduction && shouldUseSourceMap,
      modules: true,
      getLocalIdent: getCSSModuleLocalIdent,
    },
    'sass-loader'
    ),
},

上面一段代碼中,第一、二行是兩個(gè)正則表達(dá)式,分別表示以 .scss 或者 .sass 結(jié)尾和以 .module.scss 或者 .module.sass 結(jié)尾?;ɡㄌ?hào)中是 Webpack 配置 loader 的語(yǔ)法,我們一起來(lái)回憶下此部分。官網(wǎng)有提到,在 webpack 的配置中 loader 有兩個(gè)目標(biāo):

  1. test 屬性,用于標(biāo)識(shí)出應(yīng)該被對(duì)應(yīng)的 loader 進(jìn)行轉(zhuǎn)換的某個(gè)或某些文件。
  2. use 屬性,表示進(jìn)行轉(zhuǎn)換時(shí),應(yīng)該使用哪個(gè) loader。

這就告訴 Webpack 編譯器(compiler)如下信息:

“嘿,webpack 編譯器,當(dāng)你碰到以 .scss 或者 .sass 或者 .module.scss 或者 .module.sass 結(jié)尾的文件時(shí),在你對(duì)它打包之前,先使用 sass-loader 轉(zhuǎn)換一下?!?/p>

npm run eject 此命令會(huì)將腳手架中隱藏的配置都展示出來(lái),此過程不可逆。

樣式的引入

上面例子中 src/App.js 直接引入 App.scss,使用方式如下:

import React from 'react'
import './App.scss'

function App() {
  return (
    <div className="App">
      <header className="title">
        <p>
          hello world
        </p>
      </header>
    </div>
  )
}

export default App

假如此時(shí)如果在其他組件中引入另一個(gè)樣式文件,若其他樣式文件中有相同的 .title 類名,那么會(huì)造成樣式上的沖突。如果想實(shí)現(xiàn)樣式的模塊化,則需使用 [name].module.scss 方式命名,使用方式如下:

import styles from './index.module.scss'

export default function App() {
  return (
    <div className={styles.title}>hello world</div>
  )
}

這樣就不會(huì)和其他同類名的 .title 沖突了。

<div class="App_title__-GfWs">hello world</div>

提示:要添加 CSS Modules 樣式表,這里必須使用 [name].module.css 方式命名,不然會(huì)認(rèn)為是個(gè)常規(guī)的 CSS。另外若使用 Sass、Less 等,只需將 [name].module.css 改為 [name].module.scss 即可。

小結(jié)

本節(jié)內(nèi)容主要講解了如何使用 creat-react-app 腳手架快速搭建 React 開發(fā)環(huán)境,學(xué)習(xí)了日常開發(fā)所需要的工具,并寫出一個(gè)簡(jiǎn)單的 hello world 組件。重點(diǎn)是安裝腳手架所需的環(huán)境,注意腳手架對(duì)于環(huán)境的版本要求。我們知道腳手架是基于 Webpack 工具構(gòu)建的,想要更深入的學(xué)習(xí) Webpack,可以詳細(xì)學(xué)習(xí)官網(wǎng)的知識(shí)點(diǎn)。 下一小節(jié)我們要學(xué)習(xí) React 的一些基礎(chǔ)知識(shí),為后續(xù)章節(jié)打基礎(chǔ)。

demo地址

知識(shí)擴(kuò)展閱讀

}
立即訂閱 ¥ 58.00

你正在閱讀課程試讀內(nèi)容,訂閱后解鎖課程全部?jī)?nèi)容

千學(xué)不如一看,千看不如一練

手機(jī)
閱讀

掃一掃 手機(jī)閱讀

專業(yè)技術(shù)團(tuán)隊(duì)出品:React深度剖析+實(shí)戰(zhàn)
立即訂閱 ¥ 58.00

舉報(bào)

0/150
提交
取消