برنامه نویسی

تنظیم واکنش با صفحه وب و بابل از ابتدا

اگر یک پروژه React را از ابتدا شروع می کنید و می خواهید کنترل کامل بر روی راه اندازی خود داشته باشید ، استفاده از Webpack گزینه بسیار خوبی است. در این راهنما ، ما به صورت مرحله به مرحله برای پیکربندی صفحه وب و یکپارچه سازی React ، Babel ، CSS و دارایی ها به درستی می رویم.


مرحله 1: پروژه را آغاز کنید

ابتدا یک پروژه Node.js ایجاد کنید و وابستگی های لازم را نصب کنید:

npm init -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، React و Webpack را نصب کنید:

npm install react react-dom webpack webpack-cli webpack-dev-server
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بعد ، پرونده های پروژه ضروری را ایجاد کنید:

touch index.js index.html
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 2: تنظیم اولیه React

درون index.js، یک مؤلفه React اساسی را تنظیم کرده و آن را درون یک قرار دهید div با id="root":

import React from "react";
import ReactDOM from "react-dom";

const App = () => <h1>Hello, Webpack with React!h1>;

ReactDOM.render(<App />, document.getElementById("root"));
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

یک ساده ایجاد کنید index.html:


 lang="en">

     charset="UTF-8">
     name="viewport" content="width=device-width, initial-scale=1.0">
    </span>React Webpack Setup<span class="nt"/>
<span class="nt"/>
<span class="nt"/>
    <span class="nt"><p> <span class="na">id=</span><span class="s">"root"</span><span class="nt">></span></p></span>
<span class="nt"/>
<span class="nt"/>
</span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>حالت تمام صفحه را وارد کنید
    

از حالت تمام صفحه خارج شوید


مرحله 3: پیکربندی صفحه وب

ایجاد a webpack.config.js پرونده Webpack به یک فایل ورودی ، یک مسیر خروجی و یک نام پرونده برای جاوا اسکریپت همراه نیاز دارد:

const path = require("path");

module.exports = {
    entry: "./index.js",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "bundle.js",
    },
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 4: اضافه کردن پشتیبانی بابل

Webpack با لودر و افزونه کار می کند. لودرها به صفحه وب می گویند که چگونه می توان انواع مختلف پرونده را پردازش کرد. برای کامپایل JSX ، ما به بابل احتیاج داریم.

وابستگی های بابل را نصب کنید:

npm install @babel/core @babel/preset-env @babel/preset-react babel-loader
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، به روز کنید webpack.config.js برای شامل بابل در قوانین ماژول:

module.exports = {
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: "babel-loader",
            },
        ],
    },
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بعد ، ایجاد کنید .babelrc پرونده برای پیکربندی بابل:

{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 5: تنظیم سرور Webpack Dev

برای خدمت به برنامه React ما ، ما نیاز داریم webpack-dev-serverبشر

تغییر دادن webpack.config.js برای افزودن سرور توسعه:

module.exports = {
    devServer: {
        static: path.join(__dirname, "dist"),
        compress: true,
        port: 3000,
    },
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بروزرسانی package.json با اسکریپت ها برای شروع و ساخت پروژه:

"scripts": {
  "start": "webpack serve --open",
  "build": "webpack"
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون ، اجرا کنید:

npm start
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برنامه React شما باید در مرورگر باز شود.


مرحله ششم: الگوی HTML با افزونه Webpack

به طور پیش فرض ، Webpack ایجاد نمی کند index.html پرونده ما استفاده می کنیم html-webpack-plugin برای ایجاد یکی با اسکریپت بسته نرم افزاری ما. ما از گزینه Template از افزونه برای پیوند به پرونده index.html که در ابتدا ایجاد کرده ایم استفاده خواهیم کرد.

افزونه را نصب کنید:

npm install --save-dev html-webpack-plugin
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تغییر دادن webpack.config.js:

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

module.exports = {
    plugins: [
        new HtmlWebpackPlugin({
            template: path.resolve(__dirname, "index.html"),
        }),
    ],
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

حالا ، index.html به طور خودکار شامل اسکریپت بسته بندی شده ما خواهد بود.


مرحله 7: اضافه کردن پشتیبانی CSS

Webpack پرونده های CSS را به طور پیش فرض پردازش نمی کند. برای اجازه این کار ، لودرهای لازم را نصب کنید:

npm install style-loader css-loader
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون ، به روز کنید webpack.config.js برای درج قوانین مربوط به رسیدگی به CSS: ما به هر دو این لودر نیاز داریم زیرا لودر سبک استفاده از CSS در بسته نرم افزاری است و CSS-Loader برای Web Pack برای درک نحوه پردازش CSS است.

module.exports = {
    module: {
        rules: [
            {
                test: /\.css$/,
                use: ["style-loader", "css-loader"],
            },
        ],
    },
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برای اعمال CSS ، ایجاد یک styles.css پرونده را وارد کرده و وارد کنید index.js:

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، آن را وارد کنید index.js:

import "./styles.css";
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 8: رسیدگی به دارایی (تصاویر ، SVG)

برای استفاده از تصاویر در پروژه ما ، برای پردازش آنها به وب وب نیاز داریم. بروزرسانی webpack.config.js:

module.exports = {
    module: {
        rules: [
            {
                test: /\.(png|jpg|jpeg|svg)$/i,
                type: "asset/resource",
            },
        ],
    },
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون می توانید تصاویر را در اجزای خود وارد و استفاده کنید:

import logo from "./logo.png";
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 9: حل و فصل پسوندهای پرونده

به طور پیش فرض ، Webpack هنگام وارد کردن ماژول ها به پسوندهای پرونده نیاز دارد. برای ساده سازی واردات ، موارد زیر را اضافه کنید webpack.config.js:

resolve: {
    extensions: [".js", ".jsx"],
},
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این به ما امکان می دهد پرونده ها را بدون مشخص کردن وارد کنیم .js یا .jsx:

import Component from "./Component";
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


پایان

اکنون ، شما یک تنظیم کاملاً کاربردی React با Webpack ، Babel ، CSS و کنترل دارایی دارید. این رویکرد گام به گام تضمین می کند که هر پیکربندی را درک کنید. 🎉 کدگذاری مبارک!

برای کدی که مورد بحث قرار گرفته است ، repo github من را بررسی کنید
[https://github.com/Naveenprasad59/How-to-create-ReactApp-from-Scratch/tree/master]

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا