[Newbie]Hỏi về Nodejs framework



  • Chào mọi ngưới. Mình là người mới đang tìm hiểu NodeJs. Hiện mình code PHP.

    Mình muốn hỏi nodejs.vn được xây dựng bằng framework nodejs nào hay là bằng kỹ thuật nào ấy :smiley:

    Khi click vào các page url thay đổi nhưng page không reload, bật console thì thấy nội dung được lấy qua các API.

    Mình có làm thử qua ExpressJs và Meteor, nhưng mà Express nó reload page, còn meteor thì là realtime chứ ko get content qua API services. Mình cũng dùng Angular, thì trên url có dấu /#/

    Mong được giúp đỡ. Mình xin cảm ơn :smiley:



  • Bạn có thể vào Buitwith để xem .
    Nodejs.vn dùng Angular cho Front-end

    Còn các framework thì như nào cũng đc hết, tùy cách code thôi chứ đâu nhất thiết phải Angular, thì trên url có dấu /#/



  • @Nguyễn-Minh-Trung e cảm ơn bác nhé :smiley:



  • Mình cũng đang bắt đầu tập tọe với NodeJs, hi vọng cộng đồng ngày một phát triển lớn mạnh.



  • Nodejs không thể can thiệp để page không bị reload. Tải trang không reload là kỹ thuật sử dụng History API ở front end. Ví dụ minh họa như sau:

    //HTML
    <a id="no-reload" href="/another/page"></a>
    //Javascript
    var link = document.querySelector('#no-reload');
    link.addEventListener('click',function(e){
        //Không reload trang khi click vào đường link
        e.preventDefault();
        //Sử dụng AJAX để lấy dữ liệu trang 
        //Sau đó đẩy dự liệu vào trang mới sử dụng History API
        history.pushState({
            title : 'Trang mới',
            body : 'Dữ liệu trang được lấy qua AJAX'
        },'',link.pathname);
    });
    window.onpopstate = function(e){
        var state = e.state;
        document.title = state.title;
        document.body = state.body;
    };
    

    P/s. Đây cũng là kỹ thuật Facebook, Google Plus hay bất cứ website nào khác sử dụng để tải trang không reload.



  • Bạn thử tìm hiểu html5 mode của angular nhé , loại bỏ được dấu # trên url. Nhưng có một đặc điểm là phải send lại đúng page ở server , nếu không khi reload sẽ gây ra lỗi



  • Nodejs bạn nên tìm hiểu isomorphic app nodejs + reacjs + flux or redux đang hot đấy :bowtie: .


  • Angel

    @Nguyễn-Minh-Trung nodejs.vn làm bằng Angular mấy vậy bạn :|


Log in to reply