рдкреЗрдЬрдХрд┐рдЯ - рд╕реНрд╡-рд╣реЛрд╕реНрдЯреЗрдб GrapesJS рд╕рд╛рдЗрдЯ рдмрд┐рд▓реНрдбрд░, рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ред рдЬрд▓реНрджреА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЕрдВрдХ #2054тЧЛ рдЦреБрд▓рд╛рдЦреЛрд▓рд╛ рдЧрдпрд╛ 31 рдордИ 2019рджреНрд╡рд╛рд░рд╛ zhangyanwei0 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ

рджреЛ рдХрдорд╛рдВрдб рдирд╛рдо (рдирдП рдФрд░ рдкреБрд░рд╛рдиреЗ) рдХрдорд╛рдВрдб рдбрд┐рд╡реАрдЬрди рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред

рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди

рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдореБрджрд╛рдп рдЙрддреНрддрд░ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitHub рдкрд░ рдореВрд▓ рдЪрд░реНрдЪрд╛ рдЦреЛрд▓реЗрдВред

рдкреНрд░рд╢реНрди

рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдирд╛рдо рдФрд░ рдкреБрд░рд╛рдирд╛ рдирд╛рдо рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╕рдВрджреАрджрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдпрджрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдХрдорд╛рдВрдб рдирд╛рдо рдЪреБрдирдирд╛, рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдирд╛рдореЛрдВ рдХреА рд╡рдЬрд╣ рд╕реЗ. рдХрд╛рд░рдг рд╣реИ: commands/index.js рдореЗрдВ, рдЬреЛрдбрд╝реЗ рдЧрдП рдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЖрджреЗрд╢ рдирдП рдмрдирд╛рдП рдЧрдП рджреГрд╢реНрдп рд╣реИрдВ (CommandAbstract рд╕реЗ рдлреИрд▓реА рд╣реБрдИ рд╣реИрдВ)ред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ defaultCommand рд╡рд┐рдХрд▓реНрдк рдорд╛рди `select-comp рд╣реИ

рдЬрд╡рд╛рдм (0)

рдЕрднреА рддрдХ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВред

рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░

рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдЕрдВрдХ #2055

рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ?

рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрд░рд╛ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИред рдШрдЯрдХреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд┐рд░ рд╣рдЯрд╛рдПрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ (Ctrl +...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 11 рдЕрдЧрд╕реНрдд 2022

рдЕрдВрдХ #4572

рдкреЗрдЬ рдЕрдкрдбреЗрдЯ рдЗрд╡реЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдорд┐рдпрдо рдкреНрд░рддрд┐рд▓рд┐рдк...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 6 рдорд╛рд░реНрдЪ 2025

рдЕрдВрдХ #5385

GetDirtyCount() рд▓реЛрдб рдХреЗ рдмрд╛рдж рдЧреИрд░ рдирд┐рдпрддрд╛рддреНрдордХ

GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдорд┐рдпрдо рдкреНрд░рддрд┐рд▓рд┐рдк...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 21 рд╕рд┐рддрдореНрдмрд░ 2023

рдЕрдВрдХ #4435

рдкреЗрдЬ рдкреНрд░рдмрдВрдзрдХ

GrapesJS рд╕рдВрд╕реНрдХрд░рдг[X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? Chrome рдХрд╛ рдирд╡реАрдирддрдо рд╡...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 19 рдЬреБрд▓рд╛рдИ 2022

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ

рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред

рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреЗрдЦреЗрдВ

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...

рдирд┐рдГрд╢реБрд▓реНрдХ рд╡рд┐рдХрд▓реНрдк

рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред

рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ
рдкреНрд░реАрдорд┐рдпрдо рд╡рд┐рдХрд▓реНрдк

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ

рд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред

рд╕рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ тЖТ

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ?

2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ? рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╡рд┐рдХрд╛рд╕ рд▓рд╛рдЧрдд, рд╕рдордпрд╕реАрдорд╛, рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ GrapesJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдкреЗрдЬрдХрд┐рдЯ: GrapesJS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛

рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдХреЛрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рд╕реНрд░реЛрдд-рдЙрдкрд▓рдмреНрдз Next.js рдРрдк - рдкреНрд░рдХрд╛рд╢рди, рдХрд╕реНрдЯрдо рдбреЛрдореЗрди, рд▓реАрдб, рдЪреЗрдХрдЖрдЙрдЯ рдФрд░ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓реЛрдбрд░ред

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

GrapesJS рдХреЗ рд▓рд┐рдП UnStudio: рдмреЗрд╣рддрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдПрдбрд┐рдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 4 рдкреНрд▓рдЧрдЗрдиреНрд╕

UnStudio рд╕реЗ рдорд┐рд▓реЗрдВ, рдЪрд╛рд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ GrapesJS рдкреНрд▓рдЧрдЗрди рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдмреЗрд╣рддрд░ рд╕рдВрдкрд╛рджрдХ: рдХрдорд╛рдВрдб рдкреИрд▓реЗрдЯ, рд░рд┐рд╕реНрдкреЙрдиреНрд╕рд┐рд╡ рдкреИрдХ, рдСрдЯреЛрд╕реЗрд╡ рдФрд░ рд░рд┐рд╕реНрдЯреЛрд░, рдФрд░ рдСрдЯреЛрдлрд┐рд▓

рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ

рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред