下面我们来配置下webpack4+react的开发环境,之前都是针对webpack4+vue的。下面我们也是在之前项目结构的基础之上进行配置下。
首先看下如下是我为 webpack4+react 基本的项目结构如下:
### 目录结构如下: 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 代码如下:
module.exports = 'Hello React';
app/src/index.jsx 代码如下:
import React from 'react'; import ReactDOM from 'react-dom'; // 引入 hello.jsx const hello = require('./hello.jsx'); // 编写一个简单的组件 class App extends React.Component { render() { return ({hello}
) } }; // 创建一个组件实列,将组件挂载到元素上 ReactDOM.render(, document.getElementById('app'));
views/index.html 代码如下:
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相关的包如下:
npm install babel-preset-react react react-dom --save
babel-preset-react 用于支持React开发里的JSX的语法。
三:.babelrc文件配置如下假如react的配置:
{ "plugins": [ [ "transform-runtime", { "polyfill": false } ] ], "presets": [ [ "env", { "modules": false // 关闭Babel的模块转换功能,保留ES6模块化语法 } ], "stage-2", 'react' ] }
运行 npm run dev 后 打包,运行如何,可以看到基本配置好了。
查看github代码