1. sayfa
Yok mu bir cevap? |
Öncelikle node.js içerisinde Http Server oluşturman gerekiyor. Diyelim ki oluşturduğun bu server da 99 nolu porttan çalışıyor.
"deneme.html" içerisinden bir AJAX isteğiyle http://localhost:99/ adresine istekte bulunman yeterli.
|
Böyle mi olacak? klasoroku.js "use strict"; klasoroku.html <html> |
Klasör okuma işlemini "request" fonksiyonu içerisinde yapacaksın.
|
Hocam bu haliylehttp://127.0.0.1:2000 yazdığımda dosya isimlerini tarayıcıya yazıyor. Ancak ben dosya isimlerini bir dizide tutup, daha sonra random olarak bir kaç tanesini img etiketi ile görüntüleyeceğim. Bu nedenle bu dosya isimlerini html sayfasına nasıl gönderirim. Orada da java script içinde işlem yapmam lazım sanırım. Sonuçta kişi bu sayfayı görüntülerkenhttp://sddfsdfsdgf.com/oku.js değil, ....../oku.html olarak görüntüleyecek. |
|
Aşağıdaki kod ile dediğim işi yaptım. Sayfa her yenilendiğinde, bir klasördeki 5 resim random alınıyor ve img ile gösteriliyor. Çok teşekkürler. Son bir şey var. Ben bu resimlere nasıl link veririm. Ama şöyle olacak. Mesela resim dosyanın adı deneme1.jpg olsun. link:http://www.deneme1.com olacak. Yani link adresi resim adı olacak.
|
Var mı bir fikriniz? |
NodeJS'yi test etmek için örneğin; Prompt üzerinde: C:\>cd NodeJS C:\NodeJS>node deneme.js yazarak çalıştırıyor ve ilgili html yi görüntülüyoruz. Gerçek web sunucuda çalıştırmak için ne yapmalıyız. Çalıştıramadım. Mesela bende, D:\NodeJS içinde yer alıyor dosyalar. Çalışmak için; 1) C:\>D: D:\>cd NodeJS D:\NodeJS>node oku.js 2) bu işlemden sonra oku.html dosyasının üzerine çift tıklıyorum. Amacıma uygun çalışıyor. Gerçek sunucuda bu işlem nasıl olacak? |
Gerçek sunucuda da aynı şekilde çalışacak cunku (biliyorsundur) node web sunucu aynı zamanda. Sadece sunucu ortamında genelde ek betiklerle calıştırma yapılır , cunku tam amaca uygun çalışması için örneğin EngineYard'tan indirdiğim bir Node.js Chat programında çalıştırma betiği var şu sekilde: 1#!/usr/bin/env sh 2 3./node_modules/.bin/node-dev ./app.js yani node-dev diye bir betik asıl uygulama olan app.js 'i calıştırıyor. node-dev de komut satırındaki argümanları kontrol eden ve ek kontroller vs. yapıp yeni proses başlatan bi betik: (DH Forum mini sürümünde code seçeneğini bulamadım o yüzden direkt metin olarak gönderiyorum maalesef : ; ) #! /usr/bin/env node var spawn = require('child_process').spawn; var env = process.env; var node = process.argv[0]; /* Pass the location of the node-dev script to the child process */ env.NODE_DEV = process.argv[1]; var args = process.argv.slice(2); if (!args.length) { console.log('Usage: node-dev [options] script.js [arguments]\n'); process.exit(1); } /** Find the first arg that is not an option */ for (var i=0; i < args.length; i++) { if (!/^-/.test(args)) { args.splice(i, 0, __dirname + '/wrapper.js'); break; } } function start() { var child = spawn(node, args, { cwd: process.cwd(), env: env, customFds: [0, 1, 2] }); child.on('exit', function(code) { if (code === 101) { process.nextTick(start); } else { process.exit(code); } }); } start(); |
Sonuç olarak, bu kodları app.js adıyla oluşturup, çalıştırmak istediğim diğer js ve html dosyalarının olduğu dizine mi atacağım? |
yo öyle birşey demedim, yıllar önce denediğim hazır kod lardan ufak bir örnek verdim sadece. yoksa her duruma göre çalıştırna yöntemi farklı olabilir. bu süreçte seni biraz Google ve StackOverflow ara(ştır)maları bekler :) |
1. sayfa
node deneme.js ile çalıştırabiliyoruz. Örneğin;
;
kodu ile bir klasördeki dosyaların isimlerini listeliyor.
Benim sorum, bu js dosyasını html dosyası içinden nasıl çalıştıracağız? Yani deneme.html yazınca tarayıcıda klasördeki dosya isimleri görünsün istiyorum.
O isimleri elde ettiğim zaman <img src ile resimleri görüntüleyeceğim. Amacım bu.