{"id":7560,"date":"2023-02-21T21:00:04","date_gmt":"2023-02-21T17:30:04","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/"},"modified":"2023-02-21T21:00:04","modified_gmt":"2023-02-21T17:30:04","slug":"using-ngrx-standalone-apis-with-nx-12ib","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/","title":{"rendered":"\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 NgRx \u0628\u0627 Nx"},"content":{"rendered":"<div data-article-id=\"1346624\" id=\"article-body\">\n<p>\u0646\u0633\u062e\u0647 15 NgRx API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u0628\u0647 \u0628\u0633\u062a\u0647 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 NgRx \u0631\u0627 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Angular \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u0633\u062a\u0642\u0644 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u06a9\u0631\u062f.  \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0627\u062f\u063a\u0627\u0645 \u0633\u0627\u062f\u0647 NgRx \u0631\u0627 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>Nx \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0627\u0632 NgRx \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u0641\u0631\u0648\u0634\u06af\u0627\u0647\u200c\u0647\u0627\u06cc NgRx \u0628\u0627 \u0645\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a. <code>@nrwl\/angular:ngrx<\/code> \u0698\u0646\u0631\u0627\u062a\u0648\u0631 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0645\u0633\u06cc\u0631\u06cc \u0628\u0647 a \u0645\u06cc \u062f\u0647\u06cc\u062f <code>Routes<\/code> \u0641\u0627\u06cc\u0644 \u062a\u0639\u0631\u06cc\u0641 <em>(\u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u0627 <code>*.routes.ts<\/code>)<\/em><\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Nx \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Angular \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u0633\u062a\u0642\u0644 \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 NgRx \u0628\u0647 \u0622\u0646\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <em>\u0641\u0642\u0637<\/em> \u0698\u0646\u0631\u0627\u062a\u0648\u0631\u0647\u0627\u06cc Nx!<\/p>\n<p>\u0627\u06af\u0631 \u06cc\u06a9 \u0648\u06cc\u062f\u06cc\u0648 \u0631\u0627 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc \u062f\u0647\u06cc\u062f\u060c \u0645\u0627 \u06cc\u06a9\u06cc \u062f\u0627\u0631\u06cc\u0645!<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=fp9E5G9C61Q\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=fp9E5G9C61Q<\/a><br \/>\n<\/iframe>\n<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/#%DB%8C%DA%A9_%D9%81%D8%B6%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1%DB%8C_Nx_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06cc\u06a9 \u0641\u0636\u0627\u06cc \u06a9\u0627\u0631\u06cc Nx \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/#%D8%AD%D8%A7%D9%84%D8%AA_%D8%B1%DB%8C%D8%B4%D9%87_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u062d\u0627\u0644\u062a \u0631\u06cc\u0634\u0647 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/#%DB%8C%DA%A9_%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0648\u06cc\u0698\u06af\u06cc \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/#%D8%AD%D8%A7%D9%84%D8%AA_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D8%B1%D8%A7_%D8%A8%D9%87_%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >\u062d\u0627\u0644\u062a \u0648\u06cc\u0698\u06af\u06cc \u0631\u0627 \u0628\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0648\u06cc\u0698\u06af\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/using-ngrx-standalone-apis-with-nx-12ib\/#%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1_%D8%A8%D8%AF%D8%A7%D9%86%DB%8C%D8%AF\" >\u0628\u06cc\u0634\u062a\u0631 \u0628\u062f\u0627\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"%DB%8C%DA%A9_%D9%81%D8%B6%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1%DB%8C_Nx_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06cc\u06a9 \u0641\u0636\u0627\u06cc \u06a9\u0627\u0631\u06cc Nx \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>npx create-nx-workspace myorg<\/code><\/p>\n<p>\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<br \/>\u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 Angular \u0645\u0633\u062a\u0642\u0644<br \/>\u0628\u0644\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u062c\u0632\u0627\u06cc \u0645\u0633\u062a\u0642\u0644<br \/>\u0628\u0644\u0647 \u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc<br \/>\u0647\u0631 \u06af\u0632\u06cc\u0646\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0642\u0627\u0644\u0628 \u0634\u06cc\u0648\u0647 \u0646\u0627\u0645\u0647<br \/>\u0628\u0631\u0627\u06cc Nx Cloud \u0628\u0644\u0647<\/p>\n<p>\u0646\u062a\u06cc\u062c\u0647 \u0628\u0627\u06cc\u062f \u0686\u06cc\u0632\u06cc \u0634\u0628\u06cc\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0628\u0627\u0634\u062f:<\/p>\n<p><\/p>\n<p>\u062d\u0627\u0644\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646 <code>cd myorg<\/code> \u0628\u0631\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u0641\u0636\u0627\u06cc \u06a9\u0627\u0631\u06cc<\/p>\n<p>\u0631\u0627 <code>src\/main.ts<\/code> \u0628\u0627\u06cc\u062f \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f Angular \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 NgModule \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0632 \u0622\u0646\u0686\u0647 \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0631\u06cc\u062f \u0628\u0647 \u0646\u0638\u0631 \u0628\u0631\u0633\u062f.<\/p>\n<p>\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0686\u06cc\u0632\u06cc \u0634\u0628\u06cc\u0647 \u0628\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">bootstrapApplication<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/platform-browser<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">provideRouter<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">withEnabledBlockingInitialNavigation<\/span><span class=\"p\">,<\/span>\n<span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/router<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">AppComponent<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/app\/app.component<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">appRoutes<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/app\/app.routes<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nx\">bootstrapApplication<\/span><span class=\"p\">(<\/span><span class=\"nx\">AppComponent<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span>\n  <span class=\"na\">providers<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">provideRouter<\/span><span class=\"p\">(<\/span><span class=\"nx\">appRoutes<\/span><span class=\"p\">,<\/span> <span class=\"nx\">withEnabledBlockingInitialNavigation<\/span><span class=\"p\">())],<\/span>\n<span class=\"p\">}).<\/span><span class=\"k\">catch<\/span><span class=\"p\">((<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">error<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">));<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <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>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <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-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0645\u0647\u0645 \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 NgRx \u0631\u06cc\u0634\u0647 \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u06af\u06cc\u0631\u0646\u062f <code>providers<\/code> \u06af\u0632\u06cc\u0646\u0647 \u0627\u0632 <code>bootstrapApplication<\/code> \u062a\u0627\u0628\u0639.<\/p>\n<p>Nx \u0646\u06cc\u0632 \u0628\u0647 \u0627\u06cc\u0646 \u0627\u0645\u0631 \u06a9\u0645\u06a9 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AD%D8%A7%D9%84%D8%AA_%D8%B1%DB%8C%D8%B4%D9%87_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062d\u0627\u0644\u062a \u0631\u06cc\u0634\u0647 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>nx g @nrwl\/angular:ngrx --root --parent=src\/main.ts<\/code><\/p>\n<p>\u0627\u0632 \u0634\u0645\u0627 \u0646\u0627\u0645\u06cc \u0628\u0631\u0627\u06cc \u0648\u0636\u0639\u06cc\u062a \u0648\u06cc\u0698\u06af\u06cc \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0631\u0627 \u0646\u0627\u062f\u06cc\u062f\u0647 \u0628\u06af\u06cc\u0631\u06cc\u062f \u0648 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0627\u06cc\u0646\u062a\u0631 \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062e\u0648\u062f \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a.<\/p>\n<p>\u0628\u0647 Facades \u0647\u0645 \u062f\u0631\u0648\u063a \u0628\u06af\u0648\u06cc\u06cc\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/02\/1677000604_235_\u0627\u0633\u062a\u0641\u0627\u062f\u0647-\u0627\u0632-API\u0647\u0627\u06cc-\u0645\u0633\u062a\u0642\u0644-NgRx-\u0628\u0627-Nx.png\" alt=\"\u062e\u0631\u0648\u062c\u06cc \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u0632 \u0698\u0646\u0631\u0627\u062a\u0648\u0631 NgRx\" loading=\"lazy\" width=\"880\" height=\"297\" title=\"\"><\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0698\u0646\u0631\u0627\u062a\u0648\u0631 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u06cc \u0631\u0627 \u062f\u0631 \u0634\u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f <code>main.ts<\/code> \u0628\u0633\u062a\u0647 \u0647\u0627\u06cc NgRx \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0641\u0627\u06cc\u0644 \u0648 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f!<\/p>\n<p>\u0634\u0645\u0627 <code>main.ts<\/code> \u0627\u06a9\u0646\u0648\u0646 \u0641\u0627\u06cc\u0644 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0628\u0627\u0634\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">bootstrapApplication<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/platform-browser<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">provideRouter<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">withEnabledBlockingInitialNavigation<\/span><span class=\"p\">,<\/span>\n<span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/router<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">AppComponent<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/app\/app.component<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">appRoutes<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/app\/app.routes<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">provideStore<\/span><span class=\"p\">,<\/span> <span class=\"nx\">provideState<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@ngrx\/store<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">provideEffects<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@ngrx\/effects<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nx\">bootstrapApplication<\/span><span class=\"p\">(<\/span><span class=\"nx\">AppComponent<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span>\n  <span class=\"na\">providers<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\n    <span class=\"nx\">provideEffects<\/span><span class=\"p\">(),<\/span>\n    <span class=\"nx\">provideStore<\/span><span class=\"p\">(),<\/span>\n    <span class=\"nx\">provideRouter<\/span><span class=\"p\">(<\/span><span class=\"nx\">appRoutes<\/span><span class=\"p\">,<\/span> <span class=\"nx\">withEnabledBlockingInitialNavigation<\/span><span class=\"p\">()),<\/span>\n  <span class=\"p\">],<\/span>\n<span class=\"p\">}).<\/span><span class=\"k\">catch<\/span><span class=\"p\">((<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">error<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">));<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <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>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <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-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0647 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0646 \u0622\u0646 \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f <code>provideEffects()<\/code> \u0648 <code>provideStore()<\/code> \u0628\u0647 <code>providers<\/code> \u0622\u0631\u0627\u06cc\u0647.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%DB%8C%DA%A9_%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0648\u06cc\u0698\u06af\u06cc \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0648\u0642\u062a\u06cc \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u062f\u0627\u0631\u06cc\u062f \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f\u060c NgRx \u0628\u0647\u062a\u0631 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0633\u06cc\u0627\u0631 \u0631\u0627\u06cc\u062c \u0627\u0633\u062a.  Nx \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u062e\u06cc\u0644\u06cc \u0631\u0627\u062d\u062a \u0648 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0633\u0627\u062e\u062a\u0627\u0631 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0648\u06cc\u0698\u06af\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 <code>feature-users<\/code>\u060c \u062f\u0631 Nx \u06a9\u0647 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0648\u06cc\u0698\u06af\u06cc \u0645\u0627 \u0627\u0632 \u062c\u0645\u0644\u0647 \u062d\u0627\u0644\u062a NgRx \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u062c\u0627\u06cc \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p><code>nx g @nrwl\/angular:lib feature-users --standalone --routing --lazy --parent=src\/app\/app.routes.ts<\/code><\/p>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0686\u0646\u062f \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062c\u062f\u06cc\u062f \u062f\u0631 \u0641\u0636\u0627\u06cc \u06a9\u0627\u0631\u06cc Nx \u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f<br \/>\u0627\u0632 \u06cc\u06a9 Angular Standalone Component \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0646\u0642\u0637\u0647 \u0648\u0631\u0648\u062f\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f<br \/>\u06cc\u06a9 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc \u0628\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062c\u0632\u0621 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u0633\u06cc\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f.<br \/>\u0627\u06cc\u0646 \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u062a\u0646\u0628\u0644 \u0644\u0648\u062f \u0634\u062f\u0647 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f <code>app.routes.ts<\/code> \u0641\u0627\u06cc\u0644\u060c \u0633\u06cc\u0645 \u06a9\u0634\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647!<\/p>\n<p>\u0628\u0631\u062e\u06cc \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0631 \u0632\u0645\u0627\u0646 \u062e\u0648\u062f \u06a9\u0627\u0648\u0634 \u06a9\u0646\u06cc\u062f \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632:<\/p>\n<p><code>src\/app\/app.routes.ts<\/code><br \/><code>feature-users\/src\/lib\/lib.routes.ts<\/code><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AD%D8%A7%D9%84%D8%AA_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D8%B1%D8%A7_%D8%A8%D9%87_%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062d\u0627\u0644\u062a \u0648\u06cc\u0698\u06af\u06cc \u0631\u0627 \u0628\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0648\u06cc\u0698\u06af\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0645\u0627 \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0648\u06cc\u0698\u06af\u06cc \u0628\u0631\u0627\u06cc \u0648\u06cc\u0698\u06af\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062e\u0648\u062f \u062f\u0627\u0631\u06cc\u0645\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u062d\u0627\u0644\u062a \u0648\u06cc\u0698\u06af\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645!  \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u06cc\u06a9 \u0641\u0631\u0645\u0627\u0646 \u0627\u0633\u062a.<\/p>\n<p><code>nx g @nrwl\/angular:ngrx users --parent=feature-users\/src\/lib\/lib.routes.ts --route=\"\"<\/code><\/p>\n<p>\u0627\u0632 \u0634\u0645\u0627 \u067e\u0631\u0633\u06cc\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u0627\u0635\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0633\u062a\u060c \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f <code>N<\/code>.  \u0633\u067e\u0633 \u0628\u0647 Facades \u0646\u0647 \u0628\u06af\u0648\u06cc\u06cc\u062f (\u0645\u06af\u0631 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0627\u0642\u0639\u0627\u064b \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f).<\/p>\n<p>\u0631\u0627 <code>--route<\/code> \u06af\u0632\u06cc\u0646\u0647 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0631\u0627\u06cc \u062f\u06cc\u06a9\u062a\u0647 \u06a9\u0631\u062f\u0646 \u0686\u0647 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f <code>route<\/code> \u062f\u0631 \u0641\u0627\u06cc\u0644 \u062a\u0639\u0631\u06cc\u0641 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc \u0645\u0627 (<code>lib.routes.ts<\/code>) \u0628\u0627\u06cc\u062f \u062d\u0627\u0644\u062a \u0645\u062a\u0635\u0644 \u0628\u0647 \u0622\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.  \u0627\u06cc\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 API \u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 NgRx \u0628\u0647 \u0622\u0646 \u0645\u0633\u06cc\u0631 \u0645\u062a\u0635\u0644 \u0634\u0648\u0646\u062f. <\/p>\n<p>\u0627\u06af\u0631 \u0628\u0647 \u0622\u0646 \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u0645 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u062a\u0648\u062c\u0647 \u0634\u0648\u06cc\u0645 <code>lib.routes.ts<\/code> \u0641\u0627\u06cc\u0644<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Route<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@angular\/router<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">FeatureUsersComponent<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/feature-users\/feature-users.component<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">provideStore<\/span><span class=\"p\">,<\/span> <span class=\"nx\">provideState<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@ngrx\/store<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">provideEffects<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@ngrx\/effects<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"o\">*<\/span> <span class=\"k\">as<\/span> <span class=\"nx\">fromUsers<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/+state\/users.reducer<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">UsersEffects<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/+state\/users.effects<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"kd\">const<\/span> <span class=\"nx\">featureUsersRoutes<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Route<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">''<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">component<\/span><span class=\"p\">:<\/span> <span class=\"nx\">FeatureUsersComponent<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">providers<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\n      <span class=\"nx\">provideState<\/span><span class=\"p\">(<\/span><span class=\"nx\">fromUsers<\/span><span class=\"p\">.<\/span><span class=\"nx\">USERS_FEATURE_KEY<\/span><span class=\"p\">,<\/span> <span class=\"nx\">fromUsers<\/span><span class=\"p\">.<\/span><span class=\"nx\">usersReducer<\/span><span class=\"p\">),<\/span>\n      <span class=\"nx\">provideEffects<\/span><span class=\"p\">(<\/span><span class=\"nx\">UsersEffects<\/span><span class=\"p\">),<\/span>\n    <span class=\"p\">],<\/span>\n  <span class=\"p\">},<\/span>\n<span class=\"p\">];<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <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>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <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-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0646\u06cc\u0632 \u0645\u0627 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a<\/p>\n<div class=\"table-wrapper-paragraph\">\n<table>\n<thead>\n<tr>\n<th>\u0627\u0642\u062f\u0627\u0645\u0627\u062a<\/th>\n<th>\u06a9\u0627\u0647\u0646\u062f\u0647 \u0647\u0627<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u0627\u0646\u062a\u062e\u0627\u0628\u06af\u0631\u0647\u0627<\/td>\n<td>\u062c\u0644\u0648\u0647 \u0647\u0627<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>\u0648 \u0628\u0627 \u0622\u0646\u060c \u0645\u0627 \u0627\u06a9\u0646\u0648\u0646 NgRx \u0631\u0627 \u0646\u0635\u0628 \u0648 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645!<\/p>\n<p>\u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u062f\u063a\u0627\u0645 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u062e\u0631\u0648\u062c\u06cc\u200c\u0647\u0627\u06cc \u0645\u0648\u0641\u0642 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f!<\/p>\n<p><code>nx build<\/code><\/p>\n<p><code>nx test<\/code><\/p>\n<p><code>nx test feature-users<\/code><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0646\u0638\u06cc\u0645 NgRx \u0628\u0627 Nx \u0686\u0642\u062f\u0631 \u0622\u0633\u0627\u0646 \u0627\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0622\u062e\u0631\u06cc\u0646 API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.  \u0647\u0645\u0647 \u0641\u0642\u0637 \u0628\u0627 5 \u062f\u0633\u062a\u0648\u0631 Nx! <\/p>\n<p>\u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0646\u0642\u0634\u0647 \u0631\u0627\u0647 Angular \u06a9\u0647 \u0628\u0647 \u0627\u062c\u0632\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u062a\u0628\u062f\u06cc\u0644 \u0628\u0647 \u06af\u0632\u06cc\u0646\u0647 \u062a\u0631\u062c\u06cc\u062d\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Angular \u0645\u06cc \u0634\u0648\u062f\u060c \u0627\u06cc\u0646 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u0648 Nx \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0628\u0627 \u0628\u0647\u062a\u0631\u06cc\u0646 DX \u0645\u0645\u06a9\u0646 \u0628\u0647 \u0622\u0646 \u0628\u0631\u0633\u06cc\u062f!<\/p>\n<p>\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062e\u0632\u0646 \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0631\u0627 \u06a9\u0647 \u0637\u0628\u0642 \u0645\u0631\u0627\u062d\u0644 \u0628\u0627\u0644\u0627 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f: https:\/\/github.com\/Coly010\/nx-ngrx-standalone<\/p>\n<hr\/>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1_%D8%A8%D8%AF%D8%A7%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0628\u06cc\u0634\u062a\u0631 \u0628\u062f\u0627\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\ud83e\udde0 Nx Docs<br \/>\ud83d\udc69\u200d\ud83d\udcbb Nx GitHub<br \/>\ud83d\udcac Nrwl Community Slack<br \/>\ud83d\udcf9 \u06a9\u0627\u0646\u0627\u0644 \u06cc\u0648\u062a\u06cc\u0648\u0628 Nrwl<br \/>\ud83e\udd5a \u062f\u0648\u0631\u0647 \u0631\u0627\u06cc\u06af\u0627\u0646 Egghead<br \/>\ud83e\uddd0 \u0628\u0631\u0627\u06cc Angular\u060c React\u060c Monorepos\u060c Lerna \u06cc\u0627 Nx \u0628\u0647 \u06a9\u0645\u06a9 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u061f  \u0628\u0627 \u0645\u0627 \u0635\u062d\u0628\u062a \u06a9\u0646 \ud83d\ude03<\/p>\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0631\u0627 \u062f\u0648\u0633\u062a \u062f\u0627\u0634\u062a\u06cc\u062f\u060c \u0631\u0648\u06cc \ud83d\udc4f \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u0648 \u062d\u062a\u0645\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f <a href=\"https:\/\/twitter.com\/FerryColum\" rel=\"nofollow noopener\" target=\"_blank\">\u0633\u062a\u0648\u0646<\/a> \u0648 <a href=\"https:\/\/twitter.com\/NxDevTools\" rel=\"nofollow noopener\" target=\"_blank\">Nx<\/a> \u062f\u0631 \u062a\u0648\u06cc\u06cc\u062a\u0631 \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631!<\/p>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0646\u0633\u062e\u0647 15 NgRx API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u0628\u0647 \u0628\u0633\u062a\u0647 \u0645\u0639\u0631\u0641\u06cc \u06a9\u0631\u062f \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 NgRx \u0631\u0627 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Angular \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0645\u0633\u062a\u0642\u0644 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u06a9\u0631\u062f. \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0627\u062f\u063a\u0627\u0645 \u0633\u0627\u062f\u0647 NgRx \u0631\u0627 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. Nx \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 API\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0627\u0632 NgRx \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u0641\u0631\u0648\u0634\u06af\u0627\u0647\u200c\u0647\u0627\u06cc NgRx \u0628\u0627 \u0645\u0627 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":7562,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-7560","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/7560","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=7560"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/7560\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/7562"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=7560"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=7560"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=7560"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}