下面咱們來配置下webpack4+react的開發環境,以前都是針對webpack4+vue的。下面咱們也是在以前項目結構的基礎之上進行配置下。html
首先看下以下是我爲 webpack4+react 基本的項目結構以下:vue
### 目錄結構以下: demo1 # 工程名 | |--- dist # 打包後生成的目錄文件 | |--- node_modules # 全部的依賴包 | |--- app | | |---src | | | |-- index.jsx # 項目的入口文件jsx | | | |-- hello.jsx | |--- views | | |-- index.html # html文件 | |--- webpack.config.js # webpack配置文件 | |--- .gitignore | |--- README.md | |--- package.json | |--- .babelrc # babel轉碼文件
app/src/hello.jsx 代碼以下:node
module.exports = 'Hello React';
app/src/index.jsx 代碼以下:react
import React from 'react'; import ReactDOM from 'react-dom'; // 引入 hello.jsx const hello = require('./hello.jsx'); // 編寫一個簡單的組件 class App extends React.Component { render() { return ( <h1 style={{color: 'red'}}>{hello}</h1> ) } }; // 建立一個組件實列,將組件掛載到元素上 ReactDOM.render(<App />, document.getElementById('app'));
views/index.html 代碼以下:webpack
<!DOCTYPE html> <html> <head> <title>webpack+react項目架構</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"> </head> <body> <div id="app"> </div> </script> </body> </html>
二:安裝react相關的包以下:git
npm install babel-preset-react react react-dom --save
babel-preset-react 用於支持React開發裏的JSX的語法。github
三:.babelrc文件配置以下假如react的配置:web
{ "plugins": [ [ "transform-runtime", { "polyfill": false } ] ], "presets": [ [ "env", { "modules": false // 關閉Babel的模塊轉換功能,保留ES6模塊化語法 } ], "stage-2", 'react' ] }
運行 npm run dev 後 打包,運行如何,能夠看到基本配置好了。npm
查看github代碼json