• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn)

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:07:52
    文檔

    React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn)

    React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn):不久前寫(xiě)了一篇webpack 4 升級(jí)遷移 這里簡(jiǎn)單說(shuō)下 React 項(xiàng)目的一些配置; 首先我們新建項(xiàng)目 react-web ,然后進(jìn)入項(xiàng)目初始化 package.json ; cd react-web && npm init 接下來(lái)我們安裝 webpack ,這里需要注意一點(diǎn),是命令行已經(jīng)單獨(dú)提取出來(lái)了,
    推薦度:
    導(dǎo)讀React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn):不久前寫(xiě)了一篇webpack 4 升級(jí)遷移 這里簡(jiǎn)單說(shuō)下 React 項(xiàng)目的一些配置; 首先我們新建項(xiàng)目 react-web ,然后進(jìn)入項(xiàng)目初始化 package.json ; cd react-web && npm init 接下來(lái)我們安裝 webpack ,這里需要注意一點(diǎn),是命令行已經(jīng)單獨(dú)提取出來(lái)了,

    不久前寫(xiě)了一篇webpack 4 升級(jí)遷移 這里簡(jiǎn)單說(shuō)下 React 項(xiàng)目的一些配置;

    首先我們新建項(xiàng)目 react-web ,然后進(jìn)入項(xiàng)目初始化 package.json ;

    cd react-web && npm init

    接下來(lái)我們安裝 webpack ,這里需要注意一點(diǎn),是命令行已經(jīng)單獨(dú)提取出來(lái)了,我們不僅需要安裝 webpack 還需要安裝 webpack-cli 。

    npm i webpack webpack-cli --save-dev

    接下來(lái)我們開(kāi)始安裝和 react 相關(guān)的依賴包;

    npm i @babel/core babel-loader @babel/preset-env @babel/preset-react --save-dev

    接下來(lái)我們初始化 babel 的配置文件。

    touch .babelrc

    然后把下面內(nèi)容粘貼進(jìn)去;

    {
     "presets": ["@babel/preset-env", "@babel/preset-react"]
    }

    實(shí)際上 webpack 4 是可以支持無(wú)配置構(gòu)建的,但是我們還是按照傳統(tǒng)的方式寫(xiě)一下配置文件;我們新建 webpack.config.js

    module.exports = { 
     module: {
     rules: [
     {
     test: /\.js$/,
     exclude: /node_modules/,
     use: {
     loader: "babel-loader"
     }
     }
     ]
     }
    };
    

    接下來(lái)我們開(kāi)始 做點(diǎn)和 React 組件相關(guān)的東西;

    npm i react-dom react prop-types --save-dev

    我們?cè)?src 下新建目錄 components ;

    我們建立一個(gè) Header.js 和 Footer.js .

    Footer.js

    import React, { Component } from "react";
    
    class Footer extends Component { 
     constructor() {
     super();
     this.state = {
     year: "2018"
     };
     }
     render() {
     return (
     <footer class="ft">
     copyright © {this.state.year}
     </footer>
     );
     }
    }
    export default Footer;
    
    

    Header.js

    import React, { Component } from "react"; 
    import ReactDOM from "react-dom"; 
    class Header extends Component { 
     constructor() {
     super();
     this.state = {
     year: "2018"
     };
     }
     render() {
     return (
     <header class="hd">
     <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Logo</a>
     <ul class="pull-right">
     <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Home</a></li>
     <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Link1</a></li>
     <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Link2</a></li>
     </ul>
     </header>
     );
     }
    }
    export default Header;
    

    然后我們新增文件 src/index.js

    import React, { Component } from "react"; 
    import ReactDOM from "react-dom"; 
    import Header from "../src/components/Header"; 
    import Footer from "../src/components/Footer";
    
    class ReactApp extends Component { 
     constructor() {
     super();
     }
    
    
     render() {
     return (
     <div class="main">
     <Header></Header>
     <Footer></Footer>
     </div>
     );
     }
    }
    
    ReactDOM.render(<ReactApp />, document.getElementById('react-app'));
    
    export default ReactApp;
    
    

    接下來(lái)我們需要預(yù)覽頁(yè)面,我們引入下 html-loader

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

    修改我們的 webpack 配置:

    const HtmlWebPackPlugin = require("html-webpack-plugin"); 
    module.exports = { 
     module: {
     rules: [
     {
     test: /\.js$/,
     exclude: /node_modules/,
     use: {
     loader: "babel-loader"
     }
     },
     {
     test: /\.html$/,
     use: [
     {
     loader: "html-loader"
     }
     ]
     }
     ]
     },
     plugins: [
     new HtmlWebPackPlugin({
     template: "./src/index.html",
     filename: "./index.html"
     })
     ]
    };
    

    我們?cè)?src 下新建 index.html 然后添加下面的內(nèi)容:

    <!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8">
     <link rel="stylesheet"  rel="external nofollow" >
     <title>React & Webpack4</title>
    </head> 
    <body> 
     <div class="container">
     <div class="row mt-5">
     <div class="col-md-4 offset-md-1">
     <p>Create a new article</p>
     <div id="react-app">
     </div>
     </div>
     </div>
     </div>
    </body> 
    </html>
    

    接下來(lái)我們安裝 webpack-dev-server 在開(kāi)發(fā)時(shí)用于起一個(gè)服務(wù)器預(yù)覽;

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

    接下來(lái)修改 npm scripts:

    "scripts": {
     "start": "webpack-dev-server --open --mode development",
     "build": "webpack"
    }
    

    差不多已經(jīng)完成一部分了,后面你就可以再安裝其他 react 套件了;

    當(dāng)然如果覺(jué)得麻煩你也可以使用 yarn-react-webpack-seed 。

    擴(kuò)展閱讀

    https://www.valentinog.com/blog/react-webpack-babel/
    https://reacttraining.com/react-router/web/api/HashRouter
    https://github.com/JackPu/yarn-react-webpack-seed

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn)

    React 項(xiàng)目遷移 Webpack Babel7的實(shí)現(xiàn):不久前寫(xiě)了一篇webpack 4 升級(jí)遷移 這里簡(jiǎn)單說(shuō)下 React 項(xiàng)目的一些配置; 首先我們新建項(xiàng)目 react-web ,然后進(jìn)入項(xiàng)目初始化 package.json ; cd react-web && npm init 接下來(lái)我們安裝 webpack ,這里需要注意一點(diǎn),是命令行已經(jīng)單獨(dú)提取出來(lái)了,
    推薦度:
    標(biāo)簽: 遷移 項(xiàng)目 rea
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專(zhuān)題
    Top
    主站蜘蛛池模板: 久久精品国产清高在天天线| av国内精品久久久久影院| 亚洲国产精品日韩专区AV| 久久精品成人国产午夜| 亚洲综合国产精品第一页 | 亚洲精品无码成人片在线观看 | 午夜精品久久久久久| 97精品人妻一区二区三区香蕉| 亚洲精品国产成人片| 久久精品成人| 91av国产精品| 第一福利永久视频精品| 精品久久久久中文字幕日本| 尤物国精品午夜福利视频| 麻豆国内精品欧美在线| 国产精品手机在线观看你懂的 | 久久久久国产精品嫩草影院 | 国产精品久久久久9999| 无码人妻精品一区二区三| 麻豆精品三级全部视频| 国产欧美日韩综合精品一区二区三区 | 久久精品国产影库免费看 | 精品不卡一区二区| 久久精品无码专区免费青青| 亚洲日韩国产AV无码无码精品| 欧美亚洲精品中文字幕乱码免费高清| 国产精品99在线播放| 国产精品福利片免费看| 国产精品无码一区二区在线| 99精品视频在线观看婷| 91精品观看91久久久久久| 亚洲精品小视频| 91久久精品国产成人久久| 亚洲精品欧美综合在线| 午夜精品在线观看| 亚洲国产精品久久久久婷婷软件| 精品久久久久久中文字幕| 欧美精品国产一区二区| 亚洲天堂久久精品| 国产精品五月天强力打造| 国内精品国语自产拍在线观看 |