برنامه نویسی

اجزای React را در لحظه ایجاد کنید

https://www.youtube.com/watch?v=tMfx4Cb4IVk

⚛️ کد در Github

فهرست

انگیزه ها

در اینجا نحوه سازماندهی کامپوننت هایم آمده است:

composant /
|
 --- MyButton/
     |
      --- myButton.module.scss
     |
      --- MyButton.tsx
|
 --- MyArticle/
     |
      --- myArticle.module.scss
     |
      --- MyArticle.tsx
وارد حالت تمام صفحه شوید

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

برای مؤلفه MyButton، باید ماژول و مؤلفه را «پیوند» کنید:

// MyButton.tsx
import styles from "./myButton.module.scss"

type MyButtonProps = {label:string}

const MyButton = (props: MyButtonProps) => {
    const {label} = props
    return (<button className={styles.btn}>{label}</button>)
}

export default MyFirstAuto
وارد حالت تمام صفحه شوید

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

// myButton.module.scss
.btn{
 // styles...
}
وارد حالت تمام صفحه شوید

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

البته ما می توانیم ایجاد کنیم قالب های فایل اما همیشه در مورد ایجاد است:

  • پوشه،
  • سپس فایل ها را نامگذاری کنید
  • ماژول را به کامپوننت وارد کنید
  • اضافه کردن کلاس …

مراحلی که می توانند تکراری باشند و زمان زیادی را تلف کنند. ⌛

1. فایل را ایجاد کنید

یک فایل جدید به نام create-component.sh ایجاد کنید و آن را در ویرایشگر متن مورد علاقه خود باز کنید.

 touch create-component.sh
وارد حالت تمام صفحه شوید

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

2. اسکریپت Le

باز کردن فایل با open create-component.sh et
به این فایل اضافه کنید:

 #!/bin/bash

if [ $# -ne 2 ]; then
    echo "Usage: create-component <ComponentName> <path>"
    exit 1
fi

component_name="$1"
path="$2"

# Convert to PascalCase and camelCase
component_name_pascal="$(tr a-z A-Z <<<"${component_name:0:1}")${component_name:1}"
component_name_camel="$(tr A-Z a-z <<<"${component_name:0:1}")${component_name:1}"

# Create directory
component_dir="${path}/${component_name_pascal}"
mkdir -p "${component_dir}"

# Create ComponentName.tsx
tsx_file="${component_dir}/${component_name_pascal}.tsx"
cat > "${tsx_file}" <<- EOM
import styles from "./${component_name_camel}.module.scss"

type ${component_name_pascal}Props = {}

const ${component_name_pascal} = (props: ${component_name_pascal}Props) => {
    const {} = props
    return (<div className={styles.component}></div>)
}

export default ${component_name_pascal}
EOM

# Create componentName.module.scss
scss_file="${component_dir}/${component_name_camel}.module.scss"
cat > "${scss_file}" <<- EOM
.component {
}
EOM

echo "Component '${component_name_pascal}' created at '${component_dir}'"
وارد حالت تمام صفحه شوید

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

3. فایل Save را ذخیره کنید

فایل را ذخیره کرده و قابل اجرا کنید:

chmod +x create-component.sh
وارد حالت تمام صفحه شوید

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

سپس اسکریپت را به دایرکتوری در PATH خود منتقل کنید، به عنوان مثال، /usr/local/bin، تا بتوانید آن را از هر جایی اجرا کنید:

sudo mv create-component.sh /usr/local/bin/create-component
وارد حالت تمام صفحه شوید

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

4. استفاده

اکنون می توانید از دستور create-component استفاده کنید [componentName] [path] برای ایجاد اجزای خود مثلا :

create-component BasedButton /path/to/components
وارد حالت تمام صفحه شوید

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

این یک دایرکتوری BasedButton در مسیر مشخص شده به همراه فایل های BasedButton.tsx و basedButton.module.scss ایجاد می کند.

🎉

احتمالاً باید ترمینال خود را مجددا راه اندازی کنید.
زمانی که می خواهید یک کامپوننت ایجاد کنید Button که در src/components/[ici] ، تنها کاری که باید انجام دهید این است که دستور را وارد کنید

create-component Button ./src/components/
وارد حالت تمام صفحه شوید

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

هاپ! خودشه! 😎

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

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

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

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