node.js testen
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
var http = require('http');
var url = require('url');
http.createServer(function (req, res) {
console.log("Request: " + req.method + " to " + req.url);
res.writeHead(200, "OK");
res.write("<h1>Hello</h1>Node.js is working");
res.end();
}).listen(80);
console.log("Ready on port 80");
var url = require('url');
http.createServer(function (req, res) {
console.log("Request: " + req.method + " to " + req.url);
res.writeHead(200, "OK");
res.write("<h1>Hello</h1>Node.js is working");
res.end();
}).listen(80);
console.log("Ready on port 80");
Hoe doe ik dat het is niet echt goed uitgelegd
Nog mooier is het om je script te unit testen met bijv. Mocha of Jasmine.
C:\Program Files\nodejs
daarna node.exe gestart en dit in cmdline getypt
node nodetest.js
en ik krijg drie puntjes
Toevoeging op 03/07/2013 17:49:12:
Wouter J op 03/07/2013 08:31:36:
Als je weet wat je aan het doen bent, en dat weet je anders ben je niet aan het programmeren, weet je waarschijnlijk ook hoe je het moet testen: Script laten draaien en testen maar!
Nog mooier is het om je script te unit testen met bijv. Mocha of Jasmine.
Nog mooier is het om je script te unit testen met bijv. Mocha of Jasmine.
Met jQuery en Javascript programmeren is compleet nieuw voor mij. Ik weet wel hoe je php en met firebug kan testen.
Ik wil graag weten hoe ik nodejs kan testen of het werkt hierzo..
wat doe ik boven verkeerd?
Gewijzigd op 03/07/2013 17:49:36 door Francoi gckx
NodeJS is vrij 'simpel' met testen.
Als je het script start via node <scriptnaam> en je krijgt niks te zien, gaat het goed.
Als er een error is krijg je dit heel duidelijk te zien.
Je kunt ook even googlen op nodejs debugmode, die kan je bij het aanroepen van een script aanzetten.
Gr. Robert
Toevoeging op 03/07/2013 19:48:33:
Misschien wel goed om te weten als je met NodeJS gaat werken.
De syntax is voor 80% het zelfde als javascript. Echter zijn er ook belangrijke dingen die niet werken zoals in javascript.
In javascript kan je bijvoorbeeld een 'return' doen bij een functie. Met nodeJS MOET je met een callback functie werken.
moet ik node scriptnaam intype
en dan iets met een internet browser doen?
Alvast bedankt!
Gewijzigd op 03/07/2013 20:01:40 door Francoi gckx
Doe in plaats van node nodetest.js dit:
node debug nodetest.js
dan moet je meer te zien krijgen.
Dit is de fragment wat in de boek staat:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Setting Up and Testing Node.js
The simplest way to test Node.js is with a simple script. Save the contents of Listing 1-3 to a file called
NodeTest.js. I have done this in the same directory as my Node.js binary.
Listing 1-3. A Node.js Test Script
"De script zelf"...
This is a simple test script that returns a fragment of HTML when it receives an HTTP GET request.
Tip Dont worry if that last sentence didnt make complete sense. You dont need to know how HTTP and web
servers work to use jQuery, and I provide a crash course in HTML in Chapter 2.
To test Node.js, run the binary specifying the file you just created as an argument. For my Windows
installation, I typed the following at the console prompt:
node NodeTest.js
To make sure everything is working, navigate to port 80 on the machine that is running Node.js. You
should see something very similar to Figure 1-2, indicating that everything is as expected.
The simplest way to test Node.js is with a simple script. Save the contents of Listing 1-3 to a file called
NodeTest.js. I have done this in the same directory as my Node.js binary.
Listing 1-3. A Node.js Test Script
"De script zelf"...
This is a simple test script that returns a fragment of HTML when it receives an HTTP GET request.
Tip Dont worry if that last sentence didnt make complete sense. You dont need to know how HTTP and web
servers work to use jQuery, and I provide a crash course in HTML in Chapter 2.
To test Node.js, run the binary specifying the file you just created as an argument. For my Windows
installation, I typed the following at the console prompt:
node NodeTest.js
To make sure everything is working, navigate to port 80 on the machine that is running Node.js. You
should see something very similar to Figure 1-2, indicating that everything is as expected.
Kijk eens op http://nodejs.org/.
Daar kan je alles vinden wat je moet weten om met NodeJS te werken.
Gr. Robert
Toevoeging op 03/07/2013 20:08:37:
Trouwens, waar in welke folder staat je script?
En vanaf waar in je commandprompt doe je de node commando?
This simple web server written in Node responds with "Hello World" for every request.
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
To run the server, put the code into a file example.js and execute it with the node program from the command line:
Niks weer ik doe iets verkeerds:S
Toevoeging op 03/07/2013 20:11:31:
Dit is de map listing waar ik nodejs heb staan,
-node_modules
-node.exe
-node_etw_provider.man
-node_perfctr_provider.man
-NodeTest.js
-nodevars.bat
-npm
-npm.bat
Toevoeging op 03/07/2013 20:12:33:
En dan start ik node.exe en type ik node nodetest.js
Ik hoef geen maplist te hebben, maar een maplocatie.
Let wel, NodeJS draaien op windows is anders dan op linux, op linux is het 100x makkelijker.
Gr. Robert
Toevoeging op 03/07/2013 20:34:04:
dus node NodeTest.js
(misschien is het handig als ik ook weet wat je moet type als je het bij een ander map moet zoals C:/xampp/htdocs/project1/nodetest.js, maar is even bijzaak)
Even voor mij beeldvorming:
1.Dus ik start node.exe
2. type: node nodetest.js (terugkomend op als het ergens anders staat is het dan:
node C:\xampp\htdocs\project1\NodeTest.js?)
3. en dan de pagina laden? bijvoorbeeld: http://localhost/project1/nodetest.js
4. en dan met de resultaat dat je niet de javascript code zelf ziet maar in dit voorbeeld:
Hello
nodejs is working!
(in een browser zoals firefox)
Gewijzigd op 03/07/2013 20:36:35 door Francoi gckx
@Francoi,
Ik durf niet te zeggen waarom het je niet lukt, is heel lastig te zeggen gezien ik de situatie niet exact weet.
Heb ik het wel zo goed gezegd (doelend op vorige post)?
1. Start de opdrachtprompt (bijv. door cmd te typen in het venster Uitvoeren)
2. Navigeer naar de map waar je node-bestand staat, dus zoiets als:
3. Typ nu in
4. Navigeer naar de pagina op localhost.
zoals jij aangaf.
(Bij de eigen exampletest van de nodejs site krijg ik
Server running at http://127.0.0.1:1337 )
Bij mij eigen bestand dit in cmd gedaan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
C:\Users\gebruiker>cd C:\xampp\htdocs\project1
C:\xampp\htdocs\project1>node NodeTest.js
Ready on port 80
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at Server.listen (net.js:1127:5)
at Object.<anonymous> (C:\xampp\htdocs\project1\NodeTest.js:8:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:47
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
C:\xampp\htdocs\project1>node NodeTest.js
Ready on port 80
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at Server.listen (net.js:1127:5)
at Object.<anonymous> (C:\xampp\htdocs\project1\NodeTest.js:8:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:47
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
Dus dat is al meer dan ervoor als ik naar
http://localhost/project1/nodetest.js
ga, krijg ik alleen nog geen bericht te zien alleen die code
Dat komt omdat nodejs niet werkt zoals PHP. Je kan het alleen bekijken via http://127.0.0.1:1337 omdat nodejs op dit poortnummer 'luistert'
Dan krijg ik Firefox kan geen verbinding maken met de server op 127.0.0.1:1337.
Elke keer dat je nodejs gaat testen moet je deze starten via je command prompt en dan naar de URL gaan
Ik heb node nodetest.js gedaan dan krijg ik bovenstaande resultaat
welk bovenstaand resultaat? doe foutmelding?