最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解如何用webpack4從零開(kāi)始構(gòu)建react開(kāi)發(fā)環(huán)境

 更新時(shí)間:2019年01月27日 11:27:49   作者:supportlss  
這篇文章主要介紹了詳解如何用webpack4從零開(kāi)始構(gòu)建react開(kāi)發(fā)環(huán)境,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

項(xiàng)目文件準(zhǔn)備:

執(zhí)行npm init,然后創(chuàng)建如下圖所示的文件。

在index.html里面添加

<!DOCTYPE html>
<html>
 <head>
  <title>The Minimal React Webpack Babel Setup</title>
 </head>
 <body>
  <div id="app"></div>
  <script src="./bundle.js"></script>
 </body>
</html>

在webpack.config.js里面添加

module.exports = {
 entry: './src/index.js',
 output: {
  path: __dirname + '/dist',
  publicPath: '/',
  filename: 'bundle.js'
 },
 devServer: {
  contentBase: './dist'
 }
};

在package.json里面添加

 "scripts": {
  "start": "webpack-dev-server --config ./webpack.config.js --mode development"
 },

這樣,當(dāng)執(zhí)行npm start的時(shí)候,就會(huì)使用webpack-dev-server把index.js相關(guān)文件打包,生成bundle.js,這時(shí)候?yàn)g覽器會(huì)打開(kāi)一個(gè)窗口,執(zhí)行index.html(contentBase里面定義了),又因?yàn)閕ndex.html里面引入了bundle.js,就可以把壓縮后的js文件執(zhí)行起來(lái)。當(dāng)然引入bundle.js這一步可以由我們強(qiáng)大的html-webpack-plugin完成。

安裝依賴

npm install --save-dev webpack webpack-dev-server webpack-cli
npm install --save-dev @babel/core @babel/preset-env
npm install --save-dev babel-loader
npm install --save-dev @babel/preset-react

配置babel

在根目錄下新建.babelrc文件,然后添加

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

在webpack.config.js里面添加babel-loader配置

module.exports = {
 ...
 module: {
  rules: [
   {
    test: /\.(js|jsx)$/,
    exclude: /node_modules/,
    use: ['babel-loader']
   }
  ]
 },
 resolve: {
  extensions: ['*', '.js', '.jsx']
 }
 ...
};

引入react

npm install --save react react-dom

修改index.js: 這個(gè)ReactDOM.render就是把元素渲染到index.html里面id為'app'的元素廈門。在實(shí)際開(kāi)發(fā)中,我們會(huì)把a(bǔ)pp.js渲染到這里,然后在app.js里面寫(xiě)redux,react-router構(gòu)成的頁(yè)面的起點(diǎn)。

import React from 'react';
import ReactDOM from 'react-dom';

const title = 'My Minimal React Webpack Babel Setup';

ReactDOM.render(
 <div>{title}</div>,
 document.getElementById('app')
);

配置react熱加載

npm install --save-dev react-hot-loader

webpack.config.js

const webpack = require('webpack');

module.exports = {
 ...
 plugins: [
  new webpack.HotModuleReplacementPlugin()
 ],
 devServer: {
  contentBase: './dist',
  hot: true
 }
 ...
};

修改index.js

import React from 'react';
import ReactDOM from 'react-dom';

const title = 'My Minimal React Webpack Babel Setup';

ReactDOM.render(
 <div>{title}</div>,
 document.getElementById('app')
);

+ module.hot.accept();

這個(gè)時(shí)候執(zhí)行npm start,就可以在瀏覽器訪問(wèn)http://localhost:8080看到Index.html里面的內(nèi)容啦啦。參考鏈接:
https://www.robinwieruch.de/minimal-react-webpack-babel-setup/#babel-react-setup

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • React中useEffect與生命周期鉤子函數(shù)的對(duì)應(yīng)關(guān)系說(shuō)明

    React中useEffect與生命周期鉤子函數(shù)的對(duì)應(yīng)關(guān)系說(shuō)明

    這篇文章主要介紹了React中useEffect與生命周期鉤子函數(shù)的對(duì)應(yīng)關(guān)系說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 解析TypeError:import_react_native.AppState.removeEventListener?is?not?a?function

    解析TypeError:import_react_native.AppState.removeEventListener

    這篇文章主要為大家介紹了TypeError:import_react_native.AppState.removeEventListener?is?not?a?function問(wèn)題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解React中組件之間通信的方式

    詳解React中組件之間通信的方式

    這篇文章主要介紹了React中組件之間通信的方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • React之useEffect缺少依賴警告問(wèn)題及解決

    React之useEffect缺少依賴警告問(wèn)題及解決

    這篇文章主要介紹了React之useEffect缺少依賴警告問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • React國(guó)際化react-i18next詳解

    React國(guó)際化react-i18next詳解

    react-i18next 是基于 i18next 的一款強(qiáng)大的國(guó)際化框架,可以用于 react 和 react-native 應(yīng)用,是目前非常主流的國(guó)際化解決方案。這篇文章主要介紹了React國(guó)際化react-i18next的相關(guān)知識(shí),需要的朋友可以參考下
    2021-10-10
  • 淺談react新舊生命周期鉤子

    淺談react新舊生命周期鉤子

    所謂的生命周期就是指某個(gè)事物從開(kāi)始到結(jié)束的各個(gè)階段,本文主要介紹了淺談react新舊生命周期鉤子,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • React + Node.js實(shí)現(xiàn)圖片上傳功能

    React + Node.js實(shí)現(xiàn)圖片上傳功能

    最近筆者在開(kāi)發(fā)個(gè)人博客的后臺(tái)管理系統(tǒng),里面用到了圖片上傳相關(guān)的功能,在這里記錄并分享一下,希望可以幫到大家,話不多說(shuō)直接開(kāi)始吧,感興趣的朋友可以參考下
    2024-01-01
  • React this.setState方法使用原理分析介紹

    React this.setState方法使用原理分析介紹

    我們知道,在React中沒(méi)有像Vue那種數(shù)據(jù)雙向綁定的效果。而this.setState方法就是用來(lái)對(duì)數(shù)據(jù)進(jìn)行更改的。而通過(guò)this.setState方法更改的數(shù)據(jù),會(huì)讓組件的render重新渲染,并且刷新數(shù)據(jù)
    2022-09-09
  • 使用react遍歷對(duì)象生成dom

    使用react遍歷對(duì)象生成dom

    這篇文章主要介紹了使用react遍歷對(duì)象生成dom問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 詳解react阻止無(wú)效重渲染的多種方式

    詳解react阻止無(wú)效重渲染的多種方式

    這篇文章主要介紹了詳解react阻止無(wú)效重渲染的多種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

嵊泗县| 石屏县| 清苑县| 乐业县| 罗城| 澄城县| 兴义市| 伊春市| 额尔古纳市| 绍兴市| 衡东县| 昆明市| 揭阳市| 普兰县| 横山县| 临清市| 黑山县| 大埔县| 监利县| 尖扎县| 山丹县| 时尚| 正安县| 东港市| 永善县| 浮山县| 龙里县| 邵东县| 沾益县| 滕州市| 浦县| 南雄市| 合肥市| 博湖县| 蓬溪县| 定南县| 岳西县| 文山县| 剑川县| 漳浦县| 七台河市|