sebbie devlog

dev & stuff

20 notes

nodejs i express - pierwsze kroki ;)

Tutorial NodeJS z użyciem frameworka Express

  1. Instalacja
  2. Node JS - https://github.com/joyent/node/wiki/Installation

    Do instalacji expressa najłatwiej wykorzystać NPM - node package manager (opis instalacji w ostatnim kroku powyższej dokumentacji instalacji node’a)

    Express - korzystając z NPM’a wpisujemy w konsoli

    1. npm install express

    i to wszystko :)

  3. Pierwszy apka - Hello world
  4. Mało oryginalnie zacznijmy od aplikacji, które wypisze na ekran ‘hello world’ - przykład skopiowany z nodejs.org ;P

    Napiszemy ją na początek bez użycia frameworka, w czystym node

    tworzy plik hello.js i wpisujemy:

      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/');
    

    Z wykorzystaniem express’a będzie to wyglądało tak:

      var app = require('express').createServer();
    
      app.get('/', function(req, res){
        res.send('hello world');
      });
    
      app.listen(3000);
    
    var app = require('express').createServer();

    inkludujemy biblioteke express i od razu chainem tworzymy serwer http (osobiście jestem przeciwnikiem chainowania)

    app.get('/', function(req, res){ ...

    korzystając z obiektu app możemy tworzyć routing - w przykładzie do obsługi http get

    pierwszy parametr definiuje ścieżkę - możemy wpisać tu string, string z parametrami a także użyć wyrażeń regularnych

    Kilka przykładów:

    app.get('/', function(req, res){

    czyli tylko http://moj-adres-w-sieci.com/

    app.get('/product/:id([0-9]{1})', function(req, res){

    czyli http://moj-adres-w-sieci.com/product/10 - gdzie id jest cyfrą, do którego możemy się odwołać poprzez: req.params.id

    routing jest sprawdzany po kolei, czyli na końcu możemy dać najbardziej ogólny .*, aby wyświetlić wypasioną stronę -= not found =- ;-)

    Warto jeszcze napisać o tym, że korzystając z express’a możemy szybko wygenerować szkielet aplikacji,

    dostępnych jest kilka parametrów - włączenie obsługi sesji, wybór silników szablonów i styli css

    [ sebbie sebbie ~ ] express --help
    
      Usage: express [options] [path]
    
      Options:
        -s, --sessions           add session support
        -t, --template   add template  support (jade|ejs). default=jade
        -c, --css        add stylesheet  support (less|sass|stylus). default=plain css
        -v, --version            output framework version
        -h, --help               output help information
  5. express - widoki, middleware
  6. Express umożliwia korzystanie z silnika template’ów i tam umieściemy widoki naszej aplikacji

    62 var validate = function(req, res, next) {
    63   if (posts[req.params.id]) next();
    64   else res.render('index', { title: 'invalid post id', posts: [] });
    65 }
    66 
    67 app.get('/blog/:id([0-9]+)', validate, function(req, res){
    68   var post = posts[req.params.id];
    69   res.render('blog', {
    70     title: post.title,
    71     content: post.content
    72   });
    73 });

    Czyli jak widać w przykładzie obsługując request korzystając z res.render - renderujemy widok z zadanego szablonu

    Możemy też jako drugi argument przekazać obiekt z danymi do wykorzystania w widoku, w przykładzie tytuł i treść postu

    W lini 67 pojawił się jeszcze argument “validate” - jest to możliwość użycia middleware w routingu, np. jak w przykładzie do walidacji parametrów requestu

    Więcej informacji i przykładów można znaleźć w dokumentacji http://expressjs.com/guide.html#route-middleware

    Z tą wiedzą możemy budować już proste aplikacje, brakuje nam jedynie baz danych - ale to już w kolejnym artykule :)

Filed under node nodejs express.js npm javascript

5 notes

button Fajne na dowolnej stronie

Aby dodawać Fajne na NK do dowolnej strony wystarczy dodać do bookmarków/zakładek/ulubionych poniższy link:


Button Fajne!

Kliknięcie w tę zakładke wygeneruje na górze strony Button Fajne, który możemy już gwiazdkować.
Przy ręcznym dodawaniu zakładki, jako URL podajemy:

javascript:function%20ent(str)%20%7Bvar%20ta=document.createElement('textarea');ta.innerHTML=str;return%20ta.value;%7D;var%20el%20=%20document.createElement('div');el.innerHTML%20=%20'<if'%20+%20'rame%20src=http://nk.pl/fajne/widget?type=0&color=0&title='%20+%20encodeURIComponent(ent(document.title.substring(0,250)))%20+%20'&url='%20+%20encodeURIComponent(location.href)%20+%20'&index=0%20allowtransparency=true%20frameborder=0%20height=24%20scrolling=no%20width=374>%5C'</iframe>';document.body.insertBefore(el,%20document.body.firstChild);void(0);

Filed under nk nasza-klasa fajne like