Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

How use prototype in node.js

How use prototype in node.js

Problem

I write my first module on nodejs. I need parse my site from google cache. Post is map of table post. When i try use this module i have this error: "TypeError: Cannot set property 'prototype' of undefined" How fix this error?It's my code:

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.

Problem courtesy of: v.tsurka

Solution

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

I think you meant

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

And then access it like this

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

With the first you're making exports itself a named function, to modify it you would use module.exports.prototype.

Relevant study material: http://kangax.github.com/nfe/

Solution courtesy of: Ricardo Tomasi

Discussion

View additional discussion.



This post first appeared on Node.js Recipes, please read the originial post: here

Share the post

How use prototype in node.js

×

Subscribe to Node.js Recipes

Get updates delivered right to your inbox!

Thank you for your subscription

×