从零开始搭建一个react项目(不使用react脚手架,webpack4+、babel7、react)

1. 使用 npm init 命令生成 package.json 文件

2. 安装需要的依赖

  • npm install --save react (安装React)
  • npm install --save react-dom  (安装React Dom)
  • npm install --save-dev webpack  (安装webpack,打包工具)
  • npm install --save-dev webpack-cli  (使用 webpack 4+ 版本,还需要安装 webpack-cli)
  • npm install --save-dev webpack-dev-server  (安装webpack-dev-server,一个小型express服务器,主要特性是支持热加载)
  • npm install --save-dev html-webpack-plugin html-loader  (webpack需要两个额外的组件来处理HTML:html-webpack-plugin和html-loader)

   安装过webpack后需要修改 package.json 文件的内容

"scripts": {
    "start": "webpack-dev-server --open --mode development",
    "build": "webpack --mode production"
},

   新建一个 webpack.config.js 文件,写入以下内容

const HtmlWebPackPlugin = require("html-webpack-plugin");

module.exports = {
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.html$/,
                use: [
                    {
                        loader: "html-loader"
                    }
                ]
            }
        ]
    },
    plugins: [
        new HtmlWebPackPlugin({
            template: "./index.html",
            filename: "./index.html"
        })
    ]
};

   安装babel,babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。

  • npm install --save-dev @babel/core
  • npm install --save-dev babel-loader  (webpack并不知道如何将ES6语法转换为ES5,不过 webpack 可以使用 loader 来完成。即webpack加载器将一些东西作为输入,并将其转换为其他东西输出。)
  • npm install --save-dev @babel/preset-env  (将ES6语法转码为ES5)
  • npm install --save-dev @babel/preset-react (将JSX语法转化为JavaScript)

   新建一个配置文件.babelrc 写入以下内容

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

   环境基本已经配置完成。

接下来编写react组件

在根目录下新建一个 index.html 写入以下内容




    
    new react project


    

新建一个 src 文件夹,在src文件夹下新建一个 index.js 写入以下内容

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

class App extends React.Component {
    render() {
        return (
            

Hello World !

) } } ReactDom.render( , document.getElementById('app') );

运行npm start即可在浏览器访问页面。

运行npm run build时,会出现一个dist文件夹,文件夹中包含有一个html和一个js文件,是打包后的文件。

你可能感兴趣的:(环境配置,react)