Astro 5.12 | Astro

⚽ Astro 5.12 با یک تجربه توسعهدهنده Netlify ارتقا یافته، پشتیبانی TOML در بارکنندههای محتوا و موارد دیگر، آن را به باطن شبکه میافزاید!
ترکیب اولیه شامل:
برای ارتقاء یک پروژه موجود، از خودکار استفاده کنید @astrojs/upgrade ابزار CLI. از طرف دیگر، می توانید با اجرای دستور ارتقاء برای مدیر بسته خود، به صورت دستی ارتقا دهید:
pnpm upgrade astro --latest
yarn upgrade astro --latest
پشتیبانی TOML برای لودرهای محتوا
Astro 5.12 پشتیبانی داخلی برای فایل های TOML در مجموعه های محتوا ارائه می دهد. در Astro file() و glob() لودرهای محتوا شما را برای فایل های Markdown، JSON و YAML پوشش داده اند و اکنون می توانید از فایل های TOML نیز استفاده کنید.
هیچ پیکربندی برای فعال کردن پشتیبانی TOML لازم نیست: فقط اضافه کنید .toml فایل ها در یک مجموعه با استفاده از بارگذاری درون خطی. به عنوان مثال، اگر فهرستی از فایل های TOML مانند زیر دارید:
launch_date = "1969-07-16"
crew = ["Neil Armstrong", "Buzz Aldrin", "Michael Collins"]
سپس می توانید یک مجموعه محتوا ایجاد کنید که شامل فایل های TOML است:
import { defineCollection, z } from 'astro:content';
import { glob } from 'astro/loaders';
const spacecraft = defineCollection({
loader: glob({ pattern: '*.toml', base: './src/content/spacecraft' }),
launch_date: z.coerce().date(),
crew: z.array(z.string()),
export const collections = { spacecraft };
سپس می توانید به محتوای TOML در اجزای Astro خود دسترسی پیدا کنید:
import { getCollection } from 'astro:content';
const spacecraft = await getCollection('spacecraft');
spacecraft.map((item) => (
p>Launch Date: {item.launch_date.toLocaleDateString()}p>
p>Crew: {item.crew.join(', ')}p>
تجربه ای جدید برای توسعه دهندگان Netlify
آداپتور Netlify اکنون توسط پلاگین Vite خود Netlify در طول توسعه ارائه می شود و کل پلت فرم Netlify و موارد اولیه را به محیط توسعه محلی شما می آورد!
قدرت Netlify در لوکال هاست
تا به حال، استفاده از Netlify primitives با Astro در طول توسعه محلی نیازمند اجرای پروژه شما از طریق Netlify CLI بود. در عوض، آداپتور جدید این قابلیتها را مستقیماً در سرور توسعه Astro ایجاد میکند.
پس از ارتقاء به آخرین نسخه آداپتور، کار می کند astro dev ارائه خواهد کرد:
پیکربندی ویژگی های توسعه
در کنار این ویژگی ها راهی برای پیکربندی آنها نیز وجود دارد. آداپتور Netlify اکنون یک را می پذیرد devFeatures گزینه ای در پیکربندی خود برای سفارشی کردن ویژگی هایی که در طول توسعه فعال شوند. در حال حاضر، ویژگی هایی که می توانید پیکربندی کنید عبارتند از:
images: CDN محلی Netlify Image را برای تصاویر Astro در طول توسعه فعال می کند. به طور پیش فرض استtrue.environmentVariables: سرور توسعه شما را به طور خودکار با متغیرهای محیطی از سایت Netlify متصل شما پر می کند. به طور پیش فرض استfalse.
شما این را به عنوان یک گزینه به آداپتور Netlify در فایل پیکربندی Astro خود منتقل می کنید:
import { defineConfig } from 'astro/config'
import netlify from '@astrojs/netlify'
export default defineConfig({
environmentVariables: true,
اکنون می توانید از طعم غنی Netlify در خانه خود لذت ببرید!
با تشکر از Eduardo Bouças و Chee rabbits از Netlify که به این ویژگی کمک کردند. با تشکر بیشتر از Chee که او نیز در این پست مشارکت داشت.
ارزش های تجربی محیط خام
یک گزینه پیکربندی آزمایشی جدید به شما این امکان را می دهد که از اجبار نوع خودکار مقادیر متغیرهای محیطی در Astro انصراف دهید. import.meta.env. به طور پیش فرض، Astro مقادیر رشته را به عنوان تبدیل می کند "true"، "false"، "1"، و "0" به انواع مربوطه خود، اما این ممکن است غیرمنتظره باشد، زیرا معمولاً انتظار می رود متغیرهای محیطی رشته ای باشند.
این رفتار Astro را با رفتار Vite با متغیرهای محیطی هماهنگ می کند و احتمالاً در نسخه اصلی آینده استاندارد خواهد شد.
برای فعال کردن این ویژگی، اضافه کنید rawEnvValues پرچم به پیکربندی Astro شما:
export default defineConfig({
این گزینه آزمایشی فقط تاثیر می گذارد import.meta.env شی و هیچ تاثیری بر astro:env ماژولی که متغیرهای محیطی ایمن Astro را تامین می کند.
با تشکر از آدام لنگبرت که به این ویژگی کمک کرد.
رفع اشکال
مثل همیشه، ما سخت کار می کنیم تا مشکلات پس از انتشار 5.11 را برطرف کنیم. برای جزئیات کامل تغییرات لاگ را ببینید.
تیم اصلی Astro عبارتند از:
الکساندر نیبور، بن هلمز، کالب جاسیک،
کریس سویتین بانک، امانوئل استوپا، اریکا،
فلوریان لوفور، فرد شات، فازی،
سلام، لویی فراز، مت کین،
متیو فیلیپس، نیت مور، روبن ردیف،
سارا رینزبرگر، و ایان توماس
از همه مشارکت کنندگان دیگری که با افزودن ها و بهبودهای کد و اسناد کمک کردند تا Astro 5.12 ممکن شود، از جمله:
آدام لانگبرت، آدام ماتیسن، آدیت ساچده، آنموتی، آرماند فیلیپات، چی، کدرفی، دیکسون شان لو یان فنگ، ادواردو بوکاس، فرهاد، پارک جونسئونگ، کنیچی ناکامورا، knj، لیرویفنگ، مارتین تراپ، متیو جاستیس، نین 3، فیلیپهال، فیلیپهال واگنر، ریو، سوریا کنچانا پوترا، توماس بونت و توبی نگوین


