ری اکت سریعتر و دوست داشتنی تر
سلام ، امروز تو starter kit های ری اکت یه چیز جالب دیدم اونم یه starter kit به اسم parcel بود که تو داخل خود document ش میگه.
Parcel is Fast, zero configuration web application bundler
معنی این متن میشه که parcel یه bundler مثل webpack ولی خیلی سریع تر خب تو این قسمت یه اپ react با این bundler می سازیم.
اول بسم الله parcel cli رو نصب می کنیم
npm i --g parcel-cli
بعد یه فولدر به اسم parcel-test می سازیم و npm رو اونجا intialize می کنیم
npm init --yes
با این کار npm یه فایل package.json برای ما می سازه که می تونیم باهاش پکیج های مورد نیازمون رو نصب کنیم
حالا با دستور زیر موارد مورد نیاز رو نصب می کنیم.
npm i --save react react-dom parcel-bundler babel-preset-react babel-preset-env babel-plugin-transform-class-properties
// bad in ro nasb conid bra babel
npm i --save-dev babel-core
بعد از نصب این وابستگی ها یه فایل .babelrc درست می کنیم تا به babel بگیم چیکار کنه
// .babelrc
{
"presets": ["env", "react"],
"plugins": ["transform-class-properties"]
}
بعد دستورات زیر رو به package.json اضافه می کنیم
"scripts": {
"start": "parcel src/index.html",
"build": "parcel build src/index.html --public-url ./"
},
بعد یه فولدر src درست می کنیم و فایل های زیر رو داخلش می سازیم
App.js index.js index.html
بعد از اینا می ریم سراغ index.html که به صورت زیر هستش
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>React with parcel</title>
</head>
<body>
<div id="root"></div>
<script src="./index.js">
</body>
</html>
بعد index.js که اینطوری میشه
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(<App/>,document.querySelector('#root'));
بعد از اینا فایل App.js رو درست می کنیم
import React from 'react';
const App = () => {
return (
<div>
<h1>Hello World + React with parcel</h1>
<p>this tutorial in virgoole.io</p>
</div>
)
};
export default App;
بعد از اینا نوبت به تست می رسه من سعی کردم سادگی رو حفظ کنم که قابل فهم باشه حالا کافیه با دستور زیر روی localhost بالا بیاریم این پروژه ساده رو
npm start
// or
npm run start
با دستور زیر وقتی آدرس زیر رو تو مرورگرتون باز کنید پیام رو می بینید http://loaclhost:1234
اینم parcel که خیلی سریع تر از webpack هست از نظر امکانات نمی دونم ولی خروجی build که می دیده فوق العاده کم هست طوری که تو سایت خودشون گفتن
Based on a reasonably sized app, containing 1726 modules, 6.5M uncompressed. Built on a 2016 MacBook Pro with 4 physical cores
یه برنامه با 1726 ماژول و فشرده نشده اون شده 6.5 مگابایت که فک می کنیم این آمار آمار خوبی باشه برای اثبات خروجی کم حجم
اگه دوست دارید کد ها رو داشته باشین اینم repo github
اگه سوالی، نظری چیزی مد نظرتون هست بگید سعی می کنم سریع جواب بدم!
مطلبی دیگر از این انتشارات
نوشتن HOC در React به صورت Functional Component مثلا connect توی redux
مطلبی دیگر از این انتشارات
ایجاد چندین boilerplate جذاب در ری اکت
مطلبی دیگر از این انتشارات
صفر تا صد مقدمات اجرای React-Native آی او اس