executable
Last updated
Last updated
Javascript bir betik dili olduğu ve bir derleyicisi olmadığı için normal şartlarda yürütülebilir bir dosya halinde çalıştırılamaz. Fakat node.js runtime ve üçüncü parti paketler ile bu mümkün.
Yürütülebilir bir dosya oluşturmak için öncelikle node.js ile basit bir uygulama oluşturalım.
Yukarıdaki yapıda dosya ve klasörlerimizi oluşturduktan sonra express ve ejs paketlerini kuralım.
Kurulumlar tamamlandıktan sonra app.js dosyamızın içerisinde express ile bir http server ayağa kaldıralım.
Şimdi nexe paketini bilgisayarımıza aşağıdaki komutu kullanarak kuralım.
Daha sonra build almak için aşağıdaki komutu çalıştıralım.
Bu işlemden sonra uygulama dizinimize app.exe adında bir dosya oluşacaktır. exe dosyamızı çalıştırdığımızda http sunucumuzun ayağa kalktığını göreceğiz. Ayrıca exe dosyamızın boyutunun epey yüksek olması tüm npm paketlerini uygulamamız içerisine gömmesinden kaynaklıdır. Fakat bu şekilde derleme işlemi yaptığımızda app.exe dosyamızı farklı bir dizinde çalıştırdığımızda ejs dosyamızı bulamadığını göreceğiz. Bunun nedeni sadece app.js dosyamızı build almamızdan kaynaklıdır. Resource klasörümüzü build içerisine dahil etmek için aşağıdaki komutu çalıştırabiliriz.
Bu şekilde resource klasörümüzü exe dosyamızın içerisine gömerek app.exe dosyamızı herhangi bir dizinde çalıştırabilir hale getirdik.
1) app.js dosyamız içerisine dikkat edilmesi gereken önemli hususlardan birisi aşağıdaki kod satırını kullanarak view engin'nin ejs dosyalarımızı arayacağı dosya yolunu belirttik.
2) ejs dosyamız içerisinde bulunan assets/css/style.css import işleminin 404'e düşmemesi için aşağıdaki kod satırını oluşturduk. Bu şekilde resource/public içerisinde bulunan style dosyalarımızı index içerisinde kullanabilir hale geldik.
3) Eğer nexe ile build alırken herhangi bir hata ile karşılaşıyorsanız aşağıdaki kod satırını çalıştırarak build alırken karşılaşılan hataları detaylı şekilde görebilirsiniz.
4) Build alma işleminin başarılı bir şekilde gerçekleşmesi için nasm (Netwide Assemble) bilgisayarınızda kurulu olması gerekmektedir. Nasm kısaca assembler ve disassembler'dır