React—用webpack一步一步搭建react项目

React—用webpack一步一步搭建react项目

1、npm init -y

2、cnpm install webpack webpack-cli html-webpack-plugin clean-webpack-plugin webpack-dev-server -D
// 安装webpack 脚手架,插件, 配置服务器所需的东西

3、新建src文件夹加存放源码
新建app.js写jsx(类似html和js的混合)
新建index.html写根文件 // 类似vue中的app根节点

4、新建webpack.config.js文件

const path = require('path');
const HtmlWebpckPlugin = require('html-webpack-plugin');
const {CleanWebpackPlugin} = require('clean-webpack-plugin');
module.exports = {
    entry: './src/main.js',
    plugins: [
        new HtmlWebpckPlugin({
            template: './src/index.html' // 实例化
        }),
        new CleanWebpackPlugin() // 重新打包时删除上一次打包文件
    ],
	 devServer: { // 服务器运行
      contentBase: './dist',
open: true // 自动打开浏览器
  },
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, './dist')
    }
}

5、package.json的scripts配置

"scripts": {
  "build": "webpack”,
  "dev": "webpack-dev-server"
}

6、npm run build 打包 npm run dev弹出浏览器可以实时监控更改

babeles6转es5 polyfill按需引入

7、cnpm install --save-dev babel-loader @babel/core

8、webpack.config.js增加
与output同级

module: {
        rules: [
            {
                test: /\.css$/,
                use: [ 'style-loader', 'css-loader' ]
            },
            {
                test: /\.less$/,
                use: [ 'style-loader', 'css-loader' , 'less-loader' ]
            },
            {
                test: /\.(png|jpg|gif)$/,
                use: [
                    {
                        loader: 'url-loader',
                        options: {
                            limit: 8192
                        }
                    }
                ]
            },
            {
                test: /\.js$/,
                exclude: /node_modules/, // 排除,不解析
                loader: "babel-loader" // 中间介质,用来调用babel/preset-env
            }
        ]
    },

9、cnpm install @babel/preset-env --save-dev
cnpm install --save @babel/polyfill
cnpm install --save-dev @babel/preset-env
cnpm install --save-dev @babel/runtime-corejs3
cnpm install --save-dev @babel/plugin-transform-runtime
cnpm install --save @babel/runtime

10、新建后缀名为. babelrc的文件并写入

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "corejs": 3,
        "useBuiltIns": "usage"
      }
    ]
  ],
  "plugins": [
    [
      "@babel/plugin-transform-runtime",
      {
        "absoluteRuntime": false,
        "corejs": 3,
        "helpers": true,
        "regenerator": true,
        "useESModules": false
      }
    ]
  ]
}

react

11、cnpm install react react-do —-save
cnpm install --save-dev @babel/preset-react
// 因为浏览器不识别,所以要用babel转一下

12、.babelrc的presets数组中添加
[
“@babel/preset-react”
]

13、webstorm偏好设置 语言&框架 JavaScript version React jsx

14、main.js写jsx(js和html的混合)

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

ReactDom.render(
    <div>hello world</div>, // 注意逗号
    document.getElementById('root')
)
发布了157 篇原创文章 · 获赞 15 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Poppy_LYT/article/details/100572939
今日推荐