react安裝

一彤钟、腳手架工具create-react-app安裝

使用以下命令進行安裝:

npm install -g create-react-app

二烘绽、create-react-app的使用

  1. 在需要創(chuàng)建項目的位置打開命令行
  2. 輸入create-react-app + 項目名稱的命令,比如:
create-react-app todolist

  1. 當項目創(chuàng)建完成后啸箫,可以進入項目冀惭,并啟動:
cd todolist
npm start

三碌上、腳手架工具生成的目錄結構

  • 重要文件:
  1. index.html
  2. index.js
  3. App.js
  • 文件內容:
  1. App.js
import React, { Component } from 'react';
/**
    import {Component} from 'react'
    相當于:
    import {Component} from React // 因為react導出React對象
    由于解構賦值的原因,所以Component等于React.Component
*/
//所有的組件都要繼承Component
class App extends Component {
  // 發(fā)送頁面內容
  render() {
    return (
      <div>
        Hello World
      </div>
    );
  }
}
// 導出App模塊
export default App;

  1. index.js
import React from 'react'; // 導入React的作用是使用jsx語法
import ReactDOM from 'react-dom';
import App from './App'; // 接受
// 像js中使用標簽的語法丘逸,叫做jsx語法
ReactDOM.render(<App />, document.getElementById('root'));

  1. index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="theme-color" content="#000000">
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    <title>TodoList</title>
  </head>
  <body>
    <noscript>
      You need to enable JavaScript to run this app.
    </noscript>
    <div id="root"></div>
  </body>
</html>

1.快速構建react項目:

npm install -g create-react-app // 全局安裝create-react-app (只需要安裝一次)
create-react-app demo // 創(chuàng)建項目
cd demo // 進入項目目錄

創(chuàng)建的項目目錄結構:

-Demo // 項目名
  -node_modules // 存放第三方包
  -public
    -favicon.ico
    -index.html
    -manifest.json
  -src // 頁面代碼都寫在這下面
    -App.css
    -App.js
    -App.test.js
    -index.css
    -index.js //項目入口
    -logo.svg
    -serviceWorker.js
    -setupTest.js
.gitignore
package.json
README.md
yarn.lock

2.初始化項目

在項目的根目錄下打開命令行单鹿,輸入:

npm init -y   // 項目初始化, 執(zhí)行完后會生成 package.json文件 

3.安裝所需包

安裝react 的東西,以及antd

npm i --save react react-dom antd

安裝webpack 的三個基本項

npm i webpack webpack-cli webpack-command --save-dev

安裝webpack

npm i -D webpack  // 安裝最新穩(wěn)定版

安裝webpack 服務器 webpack-dev-server,讓啟動更方便

npm i --save-dev webpack-dev-server

自動創(chuàng)建html文件 html-webpack-plugin

npm i --save-dev  html-webpack-plugin

清除無用文件 clean-webpack-plugin,將每次打包多余的文件刪除

npm i --save-dev clean-webpack-plugin

樣式編譯loader插件

npm i --save-dev style-loader css-loader  // css相關loader
npm i --save-dev node-sass sass-loader  // scss 相關loader
npm i --save-dev file-loader url-loader // 加載其他文件,比如圖片深纲,字體

安裝babel

npm i --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react  @babel/plugin-proposal-class-properties
npm i --save @babel/polyfill
npm i --save-dev babel-loader

4.根目錄創(chuàng)建webpack.config.js文件,代碼如下

const path = require('path');
const webpack = require('webpack');
const HtmlPlugin = require('html-webpack-plugin');
module.exports = {
    devtool: 'inline-source-map',
    entry: {
        index: './src/index.js'
    },
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'build')
    },
    module: {
        rules: [{
            test: /\.css$/,
            loader: ['style-loader', 'css-loader']
        }, {
            test: /\.scss$/,
            loader: ['style-loader', 'css-loader', 'sass-loader']
        }, {
            test: /\.(png|svg|jpg|gif)$/,
            loader: 'url-loader',
            options: {
                limit: 10000,
                name: 'img/[name].[hash:7].[ext]'
            }
        }, {
            test: /\.(js|jsx)$/,
            loader: 'babel-loader',
            exclude: /node_modules/
        }]
    },
    devServer: {
        contentBase: './build',
        port: 8081, // 端口號
        inline: true,
        hot: true
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new HtmlPlugin({
            template: 'public/index.html'
        })
    ]
}

5.在根目錄下添加文件 .babelrc,代碼如下

{
    "presets": [
        "@babel/preset-env",
        "@babel/preset-react"
    ],
    "plugins": [
        "@babel/plugin-proposal-class-properties"
    ]
}

6.修改 package.json

 "scripts": {
    "start": "webpack-dev-server --open --mode production",
    "watch": "webpack --watch",
    "build": "webpack --mode production",
    "dev": "webpack  --mode development& webpack-dev-server --open  --mode development",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

7.修改public / index.html文件

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8">
      <title>demo</title>
  </head>
  <body>
      <div id="root"></div>
  </body>
</html>

8.修改src / index.js文件

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

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

9.修改src / App.js文件

import React, { Component } from 'react';
import './App.css';  // 引入樣式文件

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }
  render() {
    return (
      <div className="main">
        <div>我是首頁</div>
      </div>
    );
  }
}
export default App;

10.修改 src / App.css文件

.main {
  background: darkgray;
  width: 500px;
  height: 500px;
  margin: 0 auto;
}

11.啟動項目

(1) 在項目根目錄下執(zhí)行

npm run dev

(2) 如果裝有yarn仲锄,也可以用yarn執(zhí)行

yarn start

執(zhí)行結果:

image
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市湃鹊,隨后出現(xiàn)的幾起案子儒喊,更是在濱河造成了極大的恐慌,老刑警劉巖币呵,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怀愧,死亡現(xiàn)場離奇詭異,居然都是意外死亡余赢,警方通過查閱死者的電腦和手機芯义,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妻柒,“玉大人扛拨,你說我怎么就攤上這事【偎” “怎么了鬼癣?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵陶贼,是天一觀的道長。 經常有香客問我待秃,道長拜秧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任章郁,我火速辦了婚禮枉氮,結果婚禮上,老公的妹妹穿的比我還像新娘暖庄。我一直安慰自己聊替,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布培廓。 她就那樣靜靜地躺著惹悄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肩钠。 梳的紋絲不亂的頭發(fā)上泣港,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音价匠,去河邊找鬼当纱。 笑死,一個胖子當著我的面吹牛踩窖,可吹牛的內容都是我干的坡氯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼洋腮,長吁一口氣:“原來是場噩夢啊……” “哼箫柳!你這毒婦竟也來了?” 一聲冷哼從身側響起啥供,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤滞时,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后滤灯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坪稽,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年鳞骤,在試婚紗的時候發(fā)現(xiàn)自己被綠了窒百。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡豫尽,死狀恐怖篙梢,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情美旧,我是刑警寧澤渤滞,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布贬墩,位于F島的核電站,受9級特大地震影響妄呕,放射性物質發(fā)生泄漏陶舞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一绪励、第九天 我趴在偏房一處隱蔽的房頂上張望肿孵。 院中可真熱鬧,春花似錦疏魏、人聲如沸停做。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉腌。三九已至,卻和暖如春只厘,著一層夾襖步出監(jiān)牢的瞬間烙丛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工懈凹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜀变,地道東北人悄谐。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓介评,卻偏偏與公主長得像,于是被迫代替她去往敵國和親爬舰。 傳聞我的和親對象是個殘疾皇子们陆,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容

  • 安裝 安裝React 需要在計算機上安裝 Node.js >= 6 和 npm >= 5.2。Node.js 文集...
    Rising_life閱讀 3,834評論 0 6
  • 一情屹、腳手架工具create-react-app安裝 使用以下命令進行安裝: 二坪仇、create-react-app的...
    燈光樹影閱讀 19,488評論 0 5
  • 本系列文集將對Vue.js和ReactJS同時進行記錄,基本的語法將會忽略垃你,重點放在實現(xiàn)上椅文,例如同一個功能會分別采...
    極光火狐貍閱讀 947評論 0 0
  • 安裝了好幾次之后才跑起來,不容易惜颇。皆刺。。1.安裝create-react-app 2.創(chuàng)建react項目 這時候已經...
    leesession閱讀 4,333評論 0 1
  • 學習React最簡單的方法是直接在html文件內引入三個js文件即可直接本地操作: 注意: 在瀏覽器中使用 Bab...
    習慣芥末味閱讀 359評論 0 0