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:46:50 GMT
Awesome, I guess I overlooked that.
I believe I now have some abused list functions to go refactor :)


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

> Since the introduction of commonjs, yes. The libs are positioned under
> views so that we can include the code in the checksum for the reason you
> mentioned.
>
> Sent from my iPhone
>
> On 24 May 2013, at 15:29, Travis Paul <Tr@visPaul.me> wrote:
>
> > 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