﻿
{"id":7311,"date":"2018-03-26T12:03:32","date_gmt":"2018-03-26T12:03:32","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=7311"},"modified":"2018-03-26T12:03:32","modified_gmt":"2018-03-26T12:03:32","slug":"angular-4-proje-dosyalarini-taniyalim","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/angular-4-proje-dosyalarini-taniyalim\/","title":{"rendered":"Angular 4 &#8211; Proje Dosyalar\u0131n\u0131 Tan\u0131yal\u0131m"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/angular-4-olusturulan-projeyi-visual-studio-code-ile-acmak-ve-yayina-almak\/\" target=\"_blank\" rel=\"noopener\">\u00d6nceki makalemizde<\/a> Angular 4 projesi olu\u015fturmu\u015f ve bu projeyi Visual Studio Code ortam\u0131na ta\u015f\u0131m\u0131\u015f ve hatta yay\u0131na alm\u0131\u015ft\u0131k. \u015eimdi ise Angular 4 nimetlerine giri\u015f yapmadan \u00f6nce olu\u015fturmu\u015f oldu\u011fumuz bu projenin dosya ve klas\u00f6r\u00fcleri \u00fczerine ne nedir? ne de\u011fildir? maksad\u0131yla genel bir bak\u0131\u015f sergileyece\u011fiz. En nihayetinde bu \u015fekilde Angular 4&#8217;\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131 fiziksel yap\u0131lar\u0131 tan\u0131yarak dolayl\u0131 yoldan Angular 4 yap\u0131s\u0131n\u0131 zihnimizde oturtmaya ba\u015flayaca\u011f\u0131z.<\/p>\n<p>\u00d6nceki yaz\u0131lar\u0131m\u0131zda olu\u015fturdu\u011fumuz &#8220;OrnekProje&#8221; isimli projenin dosyalar\u0131n\u0131 a\u015fa\u011f\u0131da g\u00f6rmektesiniz. \u015eimdi gelin bu dosya ve klas\u00f6rlerin ne i\u015fe yarad\u0131\u011f\u0131ndan bahsedelim.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/03\/Angular-4-Olu\u015fturulan-Projeyi-Visual-Studio-Code-\u0130le-A\u00e7mak-ve-Yay\u0131na-Almak-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7294\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/03\/Angular-4-Olu\u015fturulan-Projeyi-Visual-Studio-Code-\u0130le-A\u00e7mak-ve-Yay\u0131na-Almak-2.png\" alt=\"Angular 4 - Olu\u015fturulan Projeyi Visual Studio Code \u0130le A\u00e7mak ve Yay\u0131na Almak\" width=\"295\" height=\"380\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/03\/Angular-4-Olu\u015fturulan-Projeyi-Visual-Studio-Code-\u0130le-A\u00e7mak-ve-Yay\u0131na-Almak-2.png 295w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/03\/Angular-4-Olu\u015fturulan-Projeyi-Visual-Studio-Code-\u0130le-A\u00e7mak-ve-Yay\u0131na-Almak-2-233x300.png 233w\" sizes=\"auto, (max-width: 295px) 100vw, 295px\" \/><\/a><\/p>\n<ul>\n<li><strong><em>e2e(End to End)<\/em><\/strong><br \/>\nUnit teslerin ve di\u011fer testlerin konfig\u00fcrasyonuyla ilgili dosyalar\u0131 i\u00e7erir.<\/li>\n<li><strong><em>node-modules<\/em><\/strong><br \/>\nNode.js arac\u0131l\u0131\u011f\u0131yla indirilen paketleri i\u00e7erir.<\/li>\n<li><strong><em>src<\/em><\/strong><br \/>\nUygulaman\u0131n dosyalar\u0131 bu klas\u00f6rde mevcuttur. \u00d6nemlidir. Bizim \u00e7al\u0131\u015fmalar\u0131m\u0131z\u0131n %95&#8217;i bu klas\u00f6r i\u00e7erisinde ceyran edecektir.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/03\/Angular-4-\u2013-Proje-Dosyalar\u0131n\u0131-Tan\u0131yal\u0131m.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7315\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/03\/Angular-4-\u2013-Proje-Dosyalar\u0131n\u0131-Tan\u0131yal\u0131m.png\" alt=\"Angular 4 \u2013 Proje Dosyalar\u0131n\u0131 Tan\u0131yal\u0131m\" width=\"147\" height=\"288\" \/><\/a><br \/>\nsrc klas\u00f6r\u00fc i\u00e7erisindeki dosya ve klas\u00f6rleri a\u015fa\u011f\u0131da tek tek tan\u0131mlamaktay\u0131z.<\/p>\n<ul>\n<li><span style=\"color: #333300;\"><strong><em>app<\/em><\/strong><\/span><br \/>\nBu klas\u00f6rle ilgili bir sonraki yaz\u0131m\u0131zda daha detayl\u0131 bir de\u011ferlendirmede bulunaca\u011f\u0131z.<\/li>\n<li><span style=\"color: #333300;\"><strong><em>assets<\/em><\/strong><\/span><br \/>\nSiteyle ilgili t\u00fcm varl\u0131klar(image vs.) burada bulunmaktad\u0131r.<\/li>\n<li><span style=\"color: #333300;\"><strong><em>environments<\/em><\/strong><\/span><br \/>\nGeli\u015ftirme ve yay\u0131na alma ortam\u0131yla ilgili konfig\u00fcrasyonu bar\u0131nd\u0131r\u0131r.<\/p>\n<ul>\n<li><span style=\"color: #003366;\"><strong><em>environment.ts<\/em><\/strong><\/span><br \/>\nGeli\u015ftirme ortam\u0131 i\u00e7in konfig\u00fcrasyonu sa\u011flar.<\/li>\n<li><span style=\"color: #003366;\"><strong><em>environment.prod.ts<\/em><\/strong><\/span><br \/>\nYay\u0131n ortam\u0131 i\u00e7in konfig\u00fcrsayonu sa\u011flar.<\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #333300;\"><strong><em>index.html<\/em><\/strong><\/span><br \/>\nTemel geli\u015ftirme sayfam\u0131zd\u0131r. \u0130\u00e7inde temel direktifi bar\u0131nd\u0131r\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!doctype html&gt;\r\n&lt;html lang=&quot;en&quot;&gt;\r\n&lt;head&gt;\r\n  &lt;meta charset=&quot;utf-8&quot;&gt;\r\n  &lt;title&gt;OrnekProje&lt;\/title&gt;\r\n  &lt;base href=&quot;\/&quot;&gt;\r\n  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\r\n  &lt;link rel=&quot;icon&quot; type=&quot;image\/x-icon&quot; href=&quot;favicon.ico&quot;&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n  &lt;app-root&gt;&lt;\/app-root&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi\u00a0&lt;app-root&gt;&lt;\/app-root&gt; direktifini bar\u0131nd\u0131rmaktad\u0131r. Bunun ne anlama geldi\u011fini daha bilmedi\u011finizi varsay\u0131yorum ve manas\u0131n\u0131 ilerideki makalelere b\u0131rak\u0131yorum.<\/li>\n<li><span style=\"color: #333300;\"><strong><em>main.ts<\/em><\/strong><\/span><br \/>\nUygulaman\u0131n giri\u015f noktas\u0131. Program.cs&#8217;si diyebiliriz \ud83d\ude42 Uygulaman\u0131n compiler edilmesinden tutunda hangi mod\u00fcl\u00fcn ana mod\u00fcl olarak ayarlanaca\u011f\u0131 bu yap\u0131 i\u00e7erisinde belirtilir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nimport { enableProdMode } from '@angular\/core';\r\nimport { platformBrowserDynamic } from '@angular\/platform-browser-dynamic';\r\nimport { AppModule } from '.\/app\/app.module';\r\nimport { environment } from '.\/environments\/environment';\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n  .catch(err =&gt; console.log(err));\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funa g\u00f6z atarsan\u0131z e\u011fer &#8220;AppModule&#8221; isimli mod\u00fcl\u00fcn ba\u015flang\u0131\u00e7 mod\u00fcl\u00fc oldu\u011fu belirtilmi\u015ftir. Tabi bu &#8220;AppModule&#8221; isimli mod\u00fcl, &#8220;src&#8221; -&gt; &#8220;app&#8221; kombinasyonu i\u00e7erisinde bulunmaktad\u0131r.<\/li>\n<li><span style=\"color: #333300;\"><strong><em>polyfills.ts<\/em><\/strong><\/span><br \/>\nUygulamadan \u00f6nce taray\u0131c\u0131ya y\u00fcklenecek olan &#8220;polyfills&#8221; listesini tutmaktad\u0131r. Uygulaman\u0131n farkl\u0131 taray\u0131c\u0131larda olas\u0131 desteklenmeme durumlar\u0131nda devreye girmektedir.<\/li>\n<\/ul>\n<\/li>\n<li><strong><em>.editorconfig<\/em><\/strong><br \/>\nEdit\u00f6rle ilgili temel konfig\u00fcrasyonlar\u0131 bar\u0131nd\u0131r\u0131r.<\/li>\n<li><strong><em>package.json<\/em><\/strong><br \/>\nNPM ile indirilen paketleri tutar. \u0130\u00e7eri\u011fine bakarsak e\u011fer;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n{\r\n  &quot;name&quot;: &quot;ornek-proje&quot;,\r\n  &quot;version&quot;: &quot;0.0.0&quot;,\r\n  &quot;license&quot;: &quot;MIT&quot;,\r\n  &quot;scripts&quot;: {\r\n    &quot;ng&quot;: &quot;ng&quot;,\r\n    &quot;start&quot;: &quot;ng serve&quot;,\r\n    &quot;build&quot;: &quot;ng build --prod&quot;,\r\n    &quot;test&quot;: &quot;ng test&quot;,\r\n    &quot;lint&quot;: &quot;ng lint&quot;,\r\n    &quot;e2e&quot;: &quot;ng e2e&quot;\r\n  },\r\n  &quot;private&quot;: true,\r\n  &quot;dependencies&quot;: {\r\n    &quot;@angular\/animations&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/common&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/compiler&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/core&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/forms&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/http&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/platform-browser&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/platform-browser-dynamic&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/router&quot;: &quot;^5.2.0&quot;,\r\n    &quot;core-js&quot;: &quot;^2.4.1&quot;,\r\n    &quot;rxjs&quot;: &quot;^5.5.6&quot;,\r\n    &quot;zone.js&quot;: &quot;^0.8.19&quot;\r\n  },\r\n  &quot;devDependencies&quot;: {\r\n    &quot;@angular\/cli&quot;: &quot;~1.7.3&quot;,\r\n    &quot;@angular\/compiler-cli&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@angular\/language-service&quot;: &quot;^5.2.0&quot;,\r\n    &quot;@types\/jasmine&quot;: &quot;~2.8.3&quot;,\r\n    &quot;@types\/jasminewd2&quot;: &quot;~2.0.2&quot;,\r\n    &quot;@types\/node&quot;: &quot;~6.0.60&quot;,\r\n    &quot;codelyzer&quot;: &quot;^4.0.1&quot;,\r\n    &quot;jasmine-core&quot;: &quot;~2.8.0&quot;,\r\n    &quot;jasmine-spec-reporter&quot;: &quot;~4.2.1&quot;,\r\n    &quot;karma&quot;: &quot;~2.0.0&quot;,\r\n    &quot;karma-chrome-launcher&quot;: &quot;~2.2.0&quot;,\r\n    &quot;karma-coverage-istanbul-reporter&quot;: &quot;^1.2.1&quot;,\r\n    &quot;karma-jasmine&quot;: &quot;~1.1.0&quot;,\r\n    &quot;karma-jasmine-html-reporter&quot;: &quot;^0.2.2&quot;,\r\n    &quot;protractor&quot;: &quot;~5.1.2&quot;,\r\n    &quot;ts-node&quot;: &quot;~4.1.0&quot;,\r\n    &quot;tslint&quot;: &quot;~5.9.1&quot;,\r\n    &quot;typescript&quot;: &quot;~2.5.3&quot;\r\n  }\r\n}\r\n<\/pre>\n<p>Dikkat ederseniz &#8220;dependencies&#8221; ve &#8220;devDependencies&#8221; olmak \u00fczere iki adet paket tan\u0131mlamas\u0131 mevcuttur. Bu paketlerin fark\u0131n\u0131 a\u015fa\u011f\u0131da ele alal\u0131m;<\/p>\n<ul>\n<li><span style=\"color: #800080;\"><em><strong>dependencies<\/strong><\/em><\/span><br \/>\nUygulama i\u00e7in laz\u0131m olan, aray\u00fczle alakal\u0131 paketlerdir.\n<\/li>\n<li><span style=\"color: #800080;\"><em><strong>devDependencies<\/strong><\/em><\/span><br \/>\nBiz geli\u015ftiriciler i\u00e7in laz\u0131m olan, client ve aray\u00fcz ile pekte alakas\u0131 olmayan paketlerdir.\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<strong><em>tsconfig.json<\/em><\/strong><br \/>\nTypeScript compiler konfig\u00fcrasyonunu tutar.\n<\/li>\n<\/ul>\n<p>Bir Angular 4 projesi i\u00e7erisinde bulunan \u00e7o\u011fu dosya ve klas\u00f6r\u00fcn ne i\u015fe yarad\u0131\u011f\u0131n\u0131 teorik olarak incelemi\u015f bulunmaktay\u0131z. Tabi ki de zamanla bu dosya ve klas\u00f6rler \u00fczerinde detayl\u0131 pratik i\u015flemler yapaca\u011f\u0131z. Ve yapt\u0131k\u00e7a olay zihninizde daha da netle\u015fecektir.<\/p>\n<p>Bir sonraki makalemizde &#8220;app&#8221; klas\u00f6r\u00fc \u00fczerine detayl\u0131 bir de\u011ferlendirmede bulunacak, Angular 4 yap\u0131s\u0131n\u0131n nas\u0131l mod\u00fcler sisteme dayand\u0131\u011f\u0131 hakk\u0131nda konu\u015facak ve component yap\u0131lar\u0131n\u0131n nas\u0131l y\u00f6netildi\u011fi ve in\u015fa edildi\u011fi \u00fczerine duraca\u011f\u0131z.<\/p>\n<p>O halde g\u00f6r\u00fc\u015fmek \u00fczere diyelim&#8230;<br \/>\nSiz okurken ben dinlenmeye ge\u00e7eyim \ud83d\ude42<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, \u00d6nceki makalemizde Angular 4 projesi olu\u015fturmu\u015f ve bu projeyi Visual Studio Code ortam\u0131na ta\u015f\u0131m\u0131\u015f ve hatta yay\u0131na alm\u0131\u015ft\u0131k. \u015eimdi ise Angular 4 nimetlerine giri\u015f yapmadan \u00f6nce olu\u015fturmu\u015f oldu\u011fumuz bu projenin dosya ve klas\u00f6r\u00fcleri&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":7246,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2144],"tags":[2175,2146,2167,2168,2177,2178,2163,2164,2171,2170,2169,2172,2165,2176,2174,2173,2166,2179],"class_list":["post-7311","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular-4","tag-editorconfig","tag-angular-4","tag-app","tag-assets","tag-dependencies","tag-devdependencies","tag-e2e","tag-end-to-end","tag-environment-prod-ts","tag-environment-ts","tag-environments","tag-main-ts","tag-node-modules","tag-package-json","tag-polyfills","tag-polyfills-ts","tag-src","tag-tsconfig-json"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/7311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=7311"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/7311\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/7246"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=7311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=7311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=7311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}