• 从“0”开始搭建Webpack5+React17 开发环境 (一)


    为什么要写?

    开始从事前端工作已经快2年了,之前做的是后端开发(php/3年),这么长的时间都没有对脚手架进行详细研究,都是拿来就用,也不仔细想想其中的原理,使用到的插件,只知道是webpack的封装集合体。后来发现这种拿来就用的(不详细了解其中原理)很低端,无法真正成为一个NB的开发者。所以今天开始先从头学习一下React(毕竟大厂主力都用React 手动狗头)。

    1.创建webpack环境

    // webpack 5.35.1
    mkdir webpack-demo
    cd webpack-demo
    yarn init -y
    // 安装基础 webpack组件
    yarn add webpack webpack-cli --dev
    // 安装 webpack 开发服务器(用于热加载)
    yarn add webpack-dev-server --dev 
    // 安装 html 插件(用于生成入口 html 文件的插件)
    yarn add html-webpack-plugin --dev
    

    2.创建html模板入口文件

    位置:/public/index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title><%= htmlWebpackPlugin.options.title %></title>
    </head>
    <body>
        <div id="app"></div>
    </body>
    </html>
    

    3.创建JS入口文件

    位置:/src/index.js

    console.log("我是入口!我成功执行了!")
    

    4.创建webpack配置文件

    位置:/webpack.config.js

    const path = require("path");
    const HtmlWebPackPlugin = require("html-webpack-plugin");
    
    module.exports = {
      output: {
        path: path.resolve(__dirname, "./dist"),
        filename: "index_bundle.js",
      },
      plugins: [
        new HtmlWebPackPlugin({
          title: "Hello React!",
          template: "./public/index.html",
        }),
      ],
    };
    

    5.添加入口脚本

    位置:/package.json

      {
          // 前后省略...
          "scripts": {
              "dev": "webpack serve --mode development",
              "build": "webpack --mode production"
          }
          // ...
      }
    

    6.跑下试试先(没问题再下一步)

    yarn dev
    

    7.安装 react 框架

    // 安装基础 react 框架
    yarn add react react-dom
    // 安装 babel 插件 
    yarn add @babel/core babel-loader --dev
    // 安装解析react 相关插件(包含以下:)
    // 1.@babel/plugin-syntax-jsx // 解析jsx语法
    // 2.@babel/plugin-transform-react-jsx  // jsx转换为函数
    // 3.@babel/plugin-transform-react-display-name  // react 系统函数重命名(版本语法糖)
    // 4.@babel/plugin-transform-react-jsx-self // webpack 开发模式下的jsx转换
    // 5.@babel/plugin-transform-react-jsx-source // webpack 开发模式下的jsx转换
    yarn add @babel/preset-react --dev
    

    8.创建 babel 配置文件

    位置:/.babelrc

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

    9.修改JS入口文件

    位置:/src/index.js

    import React from "react";
    import ReactDom from "react-dom";
    
    function App() {
      return <h1>Hello World !</h1>;
    }
    
    ReactDom.render(<App />, document.getElementById("app"));
    

    10.基础环境搭建完成(跑一下)

    yarn dev
    
  • 相关阅读:
    nginx
    httprunner(8)用例调用-RunTestCase
    httprunner(7)测试用例RunRequest
    jmespath(2)投影Projections
    jmespath(1)基础语法
    httprunner(6)配置信息config
    httprunner(5)编写测试用例
    Pytest(18)pytest接口自动化完整框架思维导图
    charles(3)charles防止30分钟自动重启
    charles(2)MAC Charles关闭后无法上网
  • 原文地址:https://www.cnblogs.com/zjhblogs/p/14703903.html
Copyright © 2020-2023  润新知