2012-01-20 28 views
5

Tôi viết mô-đun đầu tiên của mình trên nút. Tôi cần phân tích trang web của tôi từ bộ nhớ cache của Google. Bài đăng là bản đồ của bài đăng trên bảng. Khi tôi cố gắng sử dụng mô-đun này tôi có lỗi này: "Lỗi Loại: Không thể thiết lập thuộc tính 'nguyên mẫu' không xác định"? Làm thế nào khắc phục lỗi này Nó là mã của tôi:Cách sử dụng nguyên mẫu trong node.js

module.exports = function Post(documentDOM,options) 
{ 
    this.opts = $.extend({id:0,author_id:0},options); 
    this.doc = documentDOM; 
    this.post = { 
     id: 0, 
     name: '', 
     alt_name: '', 
     notice: '', 
     content: '', 
     author: '', 
     author_id: 0, 
    }; 
} 

module.exports.Post.prototype = { 
    init: function() { 
     this.post.id = this.opts.id; 
     this.post.author_id = this.opts.author_id; 
    }, 

    content: function() { 
     content = this.doc.find('.fullnews-content').html(); 
     if(!content.length) 
      content = doc.find('.article-content').html(); 
     return content; 
    } 
} 

Thank.

Trả lời

6
module.exports = function Post((documentDOM,options) 

Tôi nghĩ bạn có nghĩa là

module.exports.Post = function((documentDOM,options) 

Và sau đó truy cập vào nó như thế này

var Post = require('./post.js').Post; 

Với sự đầu tiên bạn đang làm exports bản thân một tên chức năng, để sửa đổi nó bạn sẽ sử dụng module.exports.prototype.

tài liệu học tập liên quan: http://kangax.github.com/nfe/

+0

module.exports.Post = function Post (documentDOM, options) {...} và module.exports.Post.prototype = {...} - Tất cả đều trong bài viết. js. Sau đó, trong app.js var Post = require ('./ post.js'); var post = new Post ({}, {}); Và thay cho tôi ném lỗi: Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (bản địa) –

+2

@ v.tsurka: 'var Post = require ('./ post.js'). var post = new Post ({}, {}); 'Vì hàm bây giờ nằm ​​ở thuộc tính' .Post' của xuất, bạn cần truy cập nó thông qua thuộc tính đó. –

+0

cảm ơn tất cả đã làm việc tốt! –

Các vấn đề liên quan