incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Travis Paul ...@visPaul.me>
Subject Re: Problem with commonjs in view
Date Fri, 24 May 2013 14:29:10 GMT
Thanks Robert, Sorry Noah,
Has this always been the case? I was always under the impression that you
could only use require in validate, list, and show functions.


On Fri, May 24, 2013 at 10:25 AM, Robert Newson <robert.newson@gmail.com>wrote:

> I can confirm you are wrong. You can require() into map functions.
>
> Sent from my iPhone
>
> On 24 May 2013, at 14:50, Travis Paul <Tr@visPaul.me> wrote:
>
> > Forgive me for not reading the whole email and ignore this if I missed
> some
> > critical information. But if you're tring to import a library in a view,
> > you can't. Views must be side-effect free. Someone please correct me if
> I'm
> > mistaken.
> >
> > On May 24, 2013 4:36 AM, "Noah Diewald" <noah@diewald.me> wrote:
> >
> > I have a design document where I'm trying to use commonjs in a view. At
> this
> > point I've failed at trying to do the more complicated stuff that I
> > intended to
> > use this functionality for. I'm just trying to do something simple so
> that
> > I can
> > figure out why things aren't working for me. I'm following this wiki page
> > fairly
> > closely: https://wiki.apache.org/couchdb/CommonJS_Modules
> >
> > I have a views property that looks like this:
> >
> > views: {
> >  lib: {
> >    blue: "exports.ninenine = 99;"
> >  },
> >  mymap: {
> >    map: "function (doc) {emit(require('../lib/blue').ninenine);}"
> >  }
> > }
> >
> > I get errors that look like the following for every document in the log
> when
> > attempting to run the view in the temporary view interface in futon:
> >
> > OS Process #Port<0.3115> Log :: function raised exception (new
> > TypeError("mod.current is null", "/usr/share/couchdb/server/main.js",
> 1125))
> > with doc._id cccb3bb779549b28b2e48eb628934107
> >
> > So it looks like relative paths don't work but if I use the property
> path as
> > shown in the wiki:
> >
> > views: {
> >  lib: {
> >    blue: "exports.ninenine = 99;"
> >  },
> >  mymap: {
> >    map: "function (doc) {emit(require('views/lib/blue').ninenine);}"
> >  }
> > }
> >
> > I see this error in the log:
> >
> > OS Process #Port<0.3115> Log :: function raised exception (new
> > TypeError("mod.current is null", "/usr/share/couchdb/server/main.js",
> 1125))
> > with doc._id cccb3bb779549b28b2e48eb628934107
> >
> > I haven't seen if the errors are any different when I don't try to get
> the
> > map
> > function to run through futon but it isn't working either way.
> >
> > This looks to be particular to the views. I am using commonjs with both
> > updates
> > and validate_doc_update in the same design document and they are working
> > properly.
> >
> > I am using the Arch Linux package couchdb 1.2.2-3. I hope I'm just making
> > some
> > type of dumb mistake that someone can point out. Any help would be very
> > appreciated.
> >
> > Noah
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message