从webpack开始创建一个新的react项目

  1. 使用npm init -y 初始化一个package.json

  2. 创建src文件夹(项目文件)和text文件夹(测试代码等)

  3. src中创建index.html以及index.js

  4. 安装webpack

    cnpm i webpack webpack-cli -D
    
  5. 创建webpack.config.js

    写入

    module.exports = {
    
     mode: "development", //可选的值为:`development` 和 `production`
    
     // webpack4.x中约定了打包的入口时候src -> index.js 出口是 dist -> main.js
    
    };
    
  6. 安装webpack-dev-server->实时编译

    cnpm i webpack-dev-server -D
    

    在package.json中添加

    "scripts": {
     	 ...
    
     	 "dev": "webpack-dev-server --open --host 127.0.0.1 --port 4500 --hot --compress"
    
     },
    

    就可以使用npm run dev 跑起项目

  7. 给项目生成的内存中添加一个首页,不然一进去看到的是项目的目录结构,安装html-webpack-plugin

    cnpm i html-webpack-plugin -D
    

    webpack.config.js中写入

    const path = require("path");
    
    const HtmlPlugin = require("html-webpack-plugin");
    
    const htmlplugin = new HtmlPlugin({
    
     template: path.join(__dirname, "./src/index.html"), //指定模板文件
    
     filename: "index.html", // 指定内存中生成的首页名称
    
    });
    
    module.exports = {
    
     mode: "development",
    
     // webpack4.x中约定了打包的入口时候src -> index.js 出口是 dist -> main.js
    
     plugins: [htmlplugin],
    
    };
    
  8. 安装静态文件处理的loader

    npm i url-loader file-loader -D 
    

    webpack.config.js中写入

    module.exports = {
      ...
      module: {
        rules: [
          ....
          { test: /\.jpg|png|gif|bmp$/, use: "url-loader" }, //处理图片
          { test: /\.ttf|svg|woff|woff2$/, use: "url-loader" }, //处理字体文件
        ],
      },
    };
    
  9. 安装样式的处理loader

    cnpm i style-loader css-loader -D
    cnpm i sass-loader node-sass -D 
    

    webpack.config.js中写入

    module.exports = {
      ...
      module: {
        rules: [
          ....
          { test: /\.css$/, use: ["style-loader", "css-loader"] }, //处理普通样式表
          { test: /\.scss$/, use: ["style-loader", "css-loader?modules&localIdentName=[path][name]-[local]-[hashL:5]","sass-loader"] }, //处理普通样式表
        ],
      },
    };
    
  10. 安装babel插件

    cnpm i babel-core babel-loader babel-plugin-transform-runtime -D
    cnpm i babel-preset-env babel-preset-stage-0 -D
    
  11. 安装能够识别转换jsx语法的包

    cnpm i babel-preset-react -D
    

    创建.babelrc文件,并添加

    {
        "presets": [
            "env",
            "stage-0",
            "react"
        ],
        "plugins": [
            "transform-runtime"
        ]
    }
    

    添加babel-loader配置项,在webpack.config.js中写入

    module: { //要打包的第三方模块
        rules: [
          { test: /\.js|jsx$/, use: 'babel-loader', exclude: /node_modules/ }
        ]
    }
    
  12. 配置一些可以省略的后缀以及别名

    resolve: {
        extensions: [".js", ".jsx", ".json"],
        alias: {
          //别名-可以在文件中用@符号代表这个路径
          "@": path.join(__dirname, "./src"),
        },
      },
    
  13. 安装react

    cnpm i react react-dom -S
    
  14. index.js中写入

    import React from "react";
    import ReactDOM from "react-dom";
    
    // 导入根组件
    import App from "@/components/App";
    
    // 调用方法渲染根组件
    ReactDOM.render(
      <div>
        <App></App>
      </div>,
      document.getElementById("app")
    );
    

    创建App.jsx

    import React, { Component } from "react";
    
    export default class App extends Component {
      render() {
        return <div>App</div>;
      }
    }
    
    
  15. index.html中写入

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

后面就是项目的详细编写了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值