国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 12:13:12
字體:
供稿:網(wǎ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的時候,就會使用webpack-dev-server把index.js相關(guān)文件打包,生成bundle.js,這時候瀏覽器會打開一個窗口,執(zhí)行index.html(contentBase里面定義了),又因為index.html里面引入了bundle.js,就可以把壓縮后的js文件執(zhí)行起來。當(dāng)然引入bundle.js這一步可以由我們強(qiáng)大的html-webpack-plugin完成。

安裝依賴

npm install --save-dev webpack webpack-dev-server webpack-clinpm install --save-dev @babel/core @babel/preset-envnpm install --save-dev babel-loadernpm 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: 這個ReactDOM.render就是把元素渲染到index.html里面id為'app'的元素廈門。在實際開發(fā)中,我們會把a(bǔ)pp.js渲染到這里,然后在app.js里面寫redux,react-router構(gòu)成的頁面的起點(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();

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 松溪县| 英山县| 大姚县| 乳山市| 吉首市| 长岭县| 墨竹工卡县| 柳江县| 伊宁县| 通辽市| 句容市| 驻马店市| 拉萨市| 两当县| 延寿县| 阿勒泰市| 汉中市| 攀枝花市| 固阳县| 柏乡县| 兴化市| 隆安县| 红安县| 宜兰市| 新疆| 浦东新区| 黄浦区| 吴堡县| 馆陶县| 如东县| 依安县| 澎湖县| 新营市| 成武县| 桐城市| 辛集市| 龙门县| 千阳县| 进贤县| 新津县| 柏乡县|