使用webpack實(shí)現(xiàn)從0到1搭建一個(gè)react項(xiàng)目

1、創(chuàng)建根目錄

穿件一個(gè)project文件夾用vscode或者其他編輯器打開,接著使用npm init初始化一個(gè)項(xiàng)目,初始化完成之后會(huì)有一個(gè)package.json文件。

2、安裝react

npm i react react-dom

3、安裝webpack

安裝命令:
npm i webpack@4.32.2 webpack-cli@2.0.9 webpack-dev-server@3.0.0
安裝成功之后,會(huì)出現(xiàn)node_modules和pack-lock.json包
node_modules文件夾webpack相關(guān)的包依賴,pack-lock是對(duì)包依賴的描述

4、安裝loader和plugins

安裝babel編譯ES6語法
npm i @babel/core@7.12.3 babel-loader@8.1.0 @babel/preset-react@7.12.1
安裝loader編譯css文件
npm i css-loader@5.0.0 style-loader@2.0.0
安裝plugins打包HTML模板
注意:在安裝@babel/coreh和@babel/preset-react這兩個(gè)包時(shí)要安裝大小相同的包
npm i html-webpack-plugin@4.5.0

5、配置webpack

const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
    entry:'./src/index.js',
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:"main.js"
    },
    devServer: {
        contentBase: "./public",//本地服務(wù)器所加載的頁面所在的目錄
        historyApiFallback: true,//不跳轉(zhuǎn)
        inline: true,//實(shí)時(shí)刷新
    },
    module:{
        rules:[
            {
                test: /\.js$/,
                exclude: path.resolve(__dirname, 'node_modules'),
                include: path.resolve(__dirname, 'src'),
                loader:'babel-loader',
                options:{
                    presets: [
                        "@babel/react"
                    ]
                }
            },
            {
                test: /\.css$/,
                use:['style-loader','css-loader']  // 從右到左執(zhí)行,所以注意順序
            }
        ]
    },
    plugins:[new htmlWebpackPlugin({
        template:path.join(__dirname,'./public/index.html'),
        filename: 'index.html'
    })
    ],
}

6、創(chuàng)建項(xiàng)目

先創(chuàng)建一個(gè)public文件夾,在該文件夾下面新建index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meat charset="UTF-8">
<meta name="viewport" content=""width=device-width>
<title>React</title>
</head>
<body>
<div id="app"></div>
</body>
</html>

在根目錄下新建src文件夾,在src文件夾下新建index.js作為入口文件,新建index.css用于編寫樣式

import React from 'react'
import ReactDOM from "react-dom"
import './index.css'
const App = (
<div className="border">
<h1>哈哈</h1>
</div>
)
React.render(App,document.getElementById("app"))

7、使用npm start啟動(dòng)項(xiàng)目

                                                               希望大家多多點(diǎn)贊、支持!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容