<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rama</title>
    <description>The latest articles on DEV Community by Rama (@rama_83f129f1bde0bcdee2f6).</description>
    <link>https://dev.to/rama_83f129f1bde0bcdee2f6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3160758%2Fa79efde3-68d4-4f4c-9de0-a05fbad5f02d.jpg</url>
      <title>DEV Community: Rama</title>
      <link>https://dev.to/rama_83f129f1bde0bcdee2f6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rama_83f129f1bde0bcdee2f6"/>
    <language>en</language>
    <item>
      <title>EXPRESS.JS #2 (WHAT I HAVE LEARNED)</title>
      <dc:creator>Rama</dc:creator>
      <pubDate>Tue, 20 May 2025 06:01:38 +0000</pubDate>
      <link>https://dev.to/rama_83f129f1bde0bcdee2f6/expressjs-2-what-i-have-learned-58b5</link>
      <guid>https://dev.to/rama_83f129f1bde0bcdee2f6/expressjs-2-what-i-have-learned-58b5</guid>
      <description>&lt;h2&gt;
  
  
  MASALAH MENJALANKAN PADA PATH
&lt;/h2&gt;

&lt;p&gt;terdapat permasalahan folder views untuk diluar views karena ketika kita mencoba untuk menjalankan langsung ke indexjs "nodemon express-ejs/index.js"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1edjtdm5btq7toteqmj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1edjtdm5btq7toteqmj.png" alt="Terminal" width="614" height="149"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;pada terminal tidak bermasalah dapat jalan, namun ketika kita arahkan akan ada masalah karena diarahkan langsung ke views tidak dari folder express-ejs.&lt;/p&gt;

&lt;p&gt;error:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8osx2ypl6pt2ddd7iied.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8osx2ypl6pt2ddd7iied.png" alt="error" width="800" height="232"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Solusi
&lt;/h2&gt;

&lt;p&gt;Kita Set dengan menggunakan property views untuk current directory kita&lt;/p&gt;

&lt;p&gt;Struktur folder saat ini:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4w041n0wsrh0bz6q462s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4w041n0wsrh0bz6q462s.png" alt="Struktur_folder" width="234" height="243"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;kita mengunakan module path untuk menentukan posisi file atau folder kita, jadi kita akan menggabungkan path folder project kita dengan variabel "__dirname" dirname ini adalah directory name yang dimulai dari posisi folder project kita dan dimana file "index" ini berada, karena file "index " ini berada di luar tidak berada di dalam folder views sehingga bisa kita langsung ke file tersebut seperti ilustrasi di bawah&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqn09xkv51x2endcq42u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqn09xkv51x2endcq42u.png" alt="Code" width="596" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hasil
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiww8k1r486b39czrldwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiww8k1r486b39czrldwe.png" alt="result" width="800" height="158"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>express</category>
      <category>ramaexpress</category>
      <category>arsiprama</category>
    </item>
    <item>
      <title>EXPRESS.JS #1 (WHAT I HAVE LEARNED)</title>
      <dc:creator>Rama</dc:creator>
      <pubDate>Mon, 19 May 2025 04:16:11 +0000</pubDate>
      <link>https://dev.to/rama_83f129f1bde0bcdee2f6/expressjs-1-what-i-have-learned-4m3m</link>
      <guid>https://dev.to/rama_83f129f1bde0bcdee2f6/expressjs-1-what-i-have-learned-4m3m</guid>
      <description>&lt;h2&gt;
  
  
  Templating
&lt;/h2&gt;

&lt;p&gt;Cara membuat pattern halaman web yang bisa kita ubah kontennya secara dinamis. Bisa dikatakan 1 design bisa digunakan dimana-mana sehingga cukup efisien.&lt;/p&gt;

&lt;p&gt;yang digunakan sebagai pembelajaran templating menggunakan EJS (Embedded Javascript Template)&lt;/p&gt;

&lt;h2&gt;
  
  
  Konfigurasi
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Buat folder project ejs, kemudian masuk kefolder tersebut&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4va801xu9alrdt2lfx7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4va801xu9alrdt2lfx7.png" alt="code_1" width="562" height="50"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Kemudian jalan kan perintah &lt;strong&gt;"npm init -y"&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyeus7quq79op13hnclm2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyeus7quq79op13hnclm2.png" alt="code_2" width="679" height="34"&gt;&lt;/a&gt;&lt;br&gt;
Hasil nya akan seperti ini&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6e2y8u8b538698dx4mc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6e2y8u8b538698dx4mc6.png" alt="code_3" width="685" height="241"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kemudian kita install express-js &lt;strong&gt;"npm i express"&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfbtanabo1yax8z1cza7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfbtanabo1yax8z1cza7.png" alt="code_4" width="657" height="165"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;4.membuat file "index.js"&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmzqhm4adhl92eb9np21.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmzqhm4adhl92eb9np21.png" alt="code_5" width="644" height="47"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.pada index, kita buat api kita saat ini pada port 8080&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsr7nbg2j20lx12d1fr7m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsr7nbg2j20lx12d1fr7m.png" alt="code_6" width="715" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.kemudian kita install ejs &lt;strong&gt;"npm install ejs"&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwisqt42q5aigw228nay8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwisqt42q5aigw228nay8.png" alt="code_7" width="706" height="181"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7.untuk package ejs nya sendiri tidak perlu kita require namun menjadi seperti ini&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4hdh31n4jgrsw3ci5af2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4hdh31n4jgrsw3ci5af2.png" alt="code_7" width="638" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cara menggunakan EJS pada Express
&lt;/h2&gt;

&lt;p&gt;pada dokumentasi express untuk menggunakan package ejs ini&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfniosl7zpxee74oytmh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfniosl7zpxee74oytmh.png" alt="express_docs" width="800" height="324"&gt;&lt;/a&gt;&lt;br&gt;
Terdapat property views, dimana ada lokasi atau folder meletakkan file-file template, di dalam current directory "process.cwd()" dan di dalam folder "views", sehingga pada project kita harus buat suatu folder "views" yang di dalam views ini itu adalah file-file template yang akan di gunakan&lt;/p&gt;

&lt;p&gt;jadi pada folder views kita buat file home dengan ekstensi ejs&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckz1bhju7lsuih1w9cmc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckz1bhju7lsuih1w9cmc.png" alt="code_ejs" width="690" height="61"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi75ikubnm6nx1zq1i2xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi75ikubnm6nx1zq1i2xf.png" alt="code_homeEJS" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;untuk menampilkan home kita pada &lt;strong&gt;"&lt;a href="http://localhost:8080/" rel="noopener noreferrer"&gt;http://localhost:8080/&lt;/a&gt;"&lt;/strong&gt; dilakukan seperti ini&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35mb7d7l7nei1e4t3szo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35mb7d7l7nei1e4t3szo.png" alt="code_indexjs" width="584" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;karena kita ingin menampilkan suatu template maka kita menggunakan &lt;strong&gt;"res.render()"&lt;/strong&gt;, dan untuk path yang diberikan pada render tidak perlu full path &lt;strong&gt;"views/home.ejs"&lt;/strong&gt; hanya perlu nama file &lt;strong&gt;"home.ejs"&lt;/strong&gt; karena secara default express akan mengecek langsung ke views, kecuali jika kita ganti sendiri.&lt;/p&gt;

&lt;p&gt;kita coba untuk jalankan, dengan menggunakan &lt;strong&gt;"nodemon"&lt;/strong&gt; agar tidak jalankan ulang secara manual.&lt;br&gt;
&lt;em&gt;untuk install nodemon cukup gampang bisa di cek di link berikut&lt;/em&gt; &lt;a href="https://nodemon.io/" rel="noopener noreferrer"&gt;nodemon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyivekwfdoad8k1lpt4k5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyivekwfdoad8k1lpt4k5.png" alt="jalankan_nodemon" width="712" height="148"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hasil
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fav806gmvsw40l0scbg7e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fav806gmvsw40l0scbg7e.png" alt="HASIL" width="800" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;yang artinya kita telah berhasil untuk mengimplementasikan ejs pada express kita.&lt;/p&gt;

</description>
      <category>express</category>
      <category>ramaexpress</category>
      <category>arsiprama</category>
    </item>
  </channel>
</rss>
