Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ tháng ba, 2016

[jade]Sự kế thừa template.

Như ta đã biết jade là một template engine mạnh mẽ của node.js. Jade hỗ trợ sự kế thừa template thông qua các keywords như "block" và "extends". Một block có thể được thay thế trong một template con. Những khối block của Jade có thể cung cấp các nội dung mặc định .

Ví dụ một trang layout.jade như sau:

layout.jade
htmlheadtitle My Site - #{title}block scriptsscript(src='/jquery.js')bodyblock contentblock foot#footerp some footer content
Bây giờ chúng ta muốn kế thừa phần layout ta chỉ cần tạo một fil mới và dùng keyword "extends " . Bây giờ bạn có thể định nghĩa một hoặc nhiều block có thể đè lên nội dung block cha.

page1.jade
extends ./layout.jadeblock scriptsscript(src='/jquery.js')script(src='/pets.js')block contenth1=titleeach pet inpetsinclude pet Chú ý là ở đây block foot vẫn là block foot của trang layout.jade

Một block có thể được ghi đè bởi những block khác, như ví dụ dưới:

sub-layout.jade

Sử dụng Google reCAPTCHA trong node.js

Trong bài viết này sử dụng AJAX và Node.js cho google reCAPTCHA form.

Dưới đây là các bước thực thi một Google reCAPTCHA.

1. Submit một form sử dụng Ajax.
2. Lấy khóa (key) của google trả về.
3. Xác thực khóa trả về và trả về UI.

Để submit một form sử dụng ajax ta dùng thư viện jQuery.form. Đối với server ta sử dụng express framwork và các hàm gọi HTTP ta sử dụng thư viện request.

Trước tiên ta tạo một file package.json, để tạo một file package.json sử dụng câu lênh: npm init.

File package.json có nội dung tương tự như dưới:

package.json {
"name":"google-recapcha-node",
"version":"1.0.0",
"description":"",
"main":"app.js",
"scripts":{
"test":"echo \"Error: no test specified\" && exit 1"
},
"repository":{
"type":"git",
"url":"git+https://github.com/.git"
},
"author":"Shahid shaikh",
"license":&…

Node.js + AWS API Gateway + LamBDA + MongoDB on ec2 instance.

Lambda của amazon là một tính năng mới với mô hình serverless dùng trigger khi thực thi một nhóm code. (hiện tại chỉ support node.js , python 2.7 và java 8)

Dưới đây là bài viết cơ bản về node.js + aws api gateway + lambda và mongo được cài trên ec2 instance.


Tạo một lambda function:

Tạo file index.js nội dung như dưới:


var mongodb = require('mongodb');

console.log('Loading function');

exports.handler = function(event, context) {
    console.log("Connecting to Mongo");

    mongodb.MongoClient.connect('mongodb://manageitservice247.com:27017/nodetest2', function(err, db) {
        console.log("Connected to mongo");
        var col = db.collection('userlist');

        col.find({}).toArray(function(err, docs) {
            if (err) throw err;
            docs.forEach(function(doc) {
                console.log(doc);
context.done(null, doc);
            });


            console.log("Done");

db.close();
        });  
    });
};

Sau đó, cài đặt mo…