国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

React 項目遷移 Webpack Babel7的實現

來源:懂視網 責編:小采 時間:2020-11-27 22:07:52
文檔

React 項目遷移 Webpack Babel7的實現

React 項目遷移 Webpack Babel7的實現:不久前寫了一篇webpack 4 升級遷移 這里簡單說下 React 項目的一些配置; 首先我們新建項目 react-web ,然后進入項目初始化 package.json ; cd react-web && npm init 接下來我們安裝 webpack ,這里需要注意一點,是命令行已經單獨提取出來了,
推薦度:
導讀React 項目遷移 Webpack Babel7的實現:不久前寫了一篇webpack 4 升級遷移 這里簡單說下 React 項目的一些配置; 首先我們新建項目 react-web ,然后進入項目初始化 package.json ; cd react-web && npm init 接下來我們安裝 webpack ,這里需要注意一點,是命令行已經單獨提取出來了,

不久前寫了一篇webpack 4 升級遷移 這里簡單說下 React 項目的一些配置;

首先我們新建項目 react-web ,然后進入項目初始化 package.json ;

cd react-web && npm init

接下來我們安裝 webpack ,這里需要注意一點,是命令行已經單獨提取出來了,我們不僅需要安裝 webpack 還需要安裝 webpack-cli 。

npm i webpack webpack-cli --save-dev

接下來我們開始安裝和 react 相關的依賴包;

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

接下來我們初始化 babel 的配置文件。

touch .babelrc

然后把下面內容粘貼進去;

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

實際上 webpack 4 是可以支持無配置構建的,但是我們還是按照傳統的方式寫一下配置文件;我們新建 webpack.config.js

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

接下來我們開始 做點和 React 組件相關的東西;

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

我們在 src 下新建目錄 components ;

我們建立一個 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;

接下來我們需要預覽頁面,我們引入下 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"
 })
 ]
};

我們在 src 下新建 index.html 然后添加下面的內容:

<!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>

接下來我們安裝 webpack-dev-server 在開發時用于起一個服務器預覽;

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

接下來修改 npm scripts:

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

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

當然如果覺得麻煩你也可以使用 yarn-react-webpack-seed 。

擴展閱讀

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

React 項目遷移 Webpack Babel7的實現

React 項目遷移 Webpack Babel7的實現:不久前寫了一篇webpack 4 升級遷移 這里簡單說下 React 項目的一些配置; 首先我們新建項目 react-web ,然后進入項目初始化 package.json ; cd react-web && npm init 接下來我們安裝 webpack ,這里需要注意一點,是命令行已經單獨提取出來了,
推薦度:
標簽: 遷移 項目 rea
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 一级毛片免费的 | 任你躁欧美一级在线精品免费 | 日韩αv | 99久久综合 | 国产成人一区二区三区 | 中文亚洲欧美日韩无线码 | 91精品一区二区三区在线播放 | 国产手机视频在线观看 | 国产91精品黄网在线观看 | 欧美色亚洲图 | 欧美视频二区 | 国产在线高清视频 | 日本成本人观看免费fc2 | 成人久久久观看免费毛片 | 91精品久久久久久久久网影视 | 亚洲图片欧美在线 | 伊人色综合一区二区三区 | 九一毛片 | 国产精品一区二区三区四区五区 | 欧美在线观看网站 | 亚洲欧美自拍偷拍 | 91chinese在线| 久久国产精品免费一区二区三区 | 另类专区欧美 | 卡通动漫第一页 | 欧美国产成人精品一区二区三区 | 99精品国产高清一区二区三区香蕉 | 欧美一区二区在线播放 | 国产丝袜视频 | 国产第八页 | 精品久久一区二区三区 | 波多野结衣网站 | 999久久久免费精品国产牛牛 | 欧美国产日韩综合 | 欧美精品在线一区 | 国产一区二区三区日韩欧美 | 一区二区不卡视频 | 国产精品视频第一区二区三区 | 国产精品欧美韩国日本久久 | 欧美日韩亚洲国产一区二区三区 | 久久精品国产精品亚洲毛片 |