React 项目迁移 Webpack Babel7的实现

不久前写了一篇 这里简单说下 React 项目的一些配置;

首先我们新建项目 react-web ,然后进入项目初始化 package.json ;

接下来我们安装 ,这里需要注意一点,是命令行已经单独提取出来了,我们不仅需要安装 webpack 还需要安装

接下来我们开始安装和 react 相关的依赖包;

接下来我们初始化 babel 的配置文件。

然后把下面内容粘贴进去;

实际上 webpack 4 是可以支持无配置构建的,但是我们还是按照传统的方式写一下配置文件;我们新建 webpack.config.js

接下来我们开始 做点和 React 组件相关的东西;

我们在 src 下新建目录 components ;

我们建立一个 Header.js 和 Footer.js .

Footer.js

class Footer extends Component {
constructor() {
super();
this.state = {
year: "2018"
};
}
render() {
return (
<footer class="ft">
copyright © {this.state.year}

); } } export default Footer;

Header.js

Logo ); } } export default Header;

然后我们新增文件 src/index.js

rush: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">

); } }

ReactDOM.render(,document.getElementById('react-app'));

export default ReactApp;

接下来我们需要预览页面,我们引入下 html-loader

rush:bash;"> npm i html-webpack-plugin html-loader --save-dev

修改我们的 webpack 配置:

rush:js;"> const HtmlWebPackPlugin = require("html-webpack-plugin"); module.exports = { module: { rules: [ { test: /\.js$/,use: { loader: "babel-loader" } },{ test: /\.html$/,use: [ { loader: "html-loader" } ] } ] },plugins: [ new HtmlWebPackPlugin({ template: "./src/index.html",filename: "./index.html" }) ] };

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

rush:xhtml;"> <Meta charset="utf-8"> React & Webpack4
Create a new article

接下来我们安装 webpack-dev-server 在开发时用于起一个服务器预览;

rush:bash;"> npm i webpack-dev-server --save-dev

接下来修改 npm scripts:

rush:js;"> "scripts": { "start": "webpack-dev-server --open --mode development","build": "webpack" }

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

当然如果觉得麻烦你也可以使用

扩展阅读

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...