Hello Aliaksandr, and sorry this did not get an answer earlier. Assuming you
figured it out by now, but for the archives the documentation on this is
currently here: http://wiki.apache.org/couchdb/CommonJS_Modules
In short, there's not a great "standard" way to do either. Both couchapp and
kanso.js let you easily include this code in both places, though...with
couchapp I just symlink any shared attachments into a lib dir.
If you really hate to duplicate, you could expand the "real code" equivalent of
`<script>{{{this.lib.mustache}}}</script>` inline into your generated HTML.
Accessing the design doc itself via `this` in a _show/_list (or any other)
function is a simple way to load templates without needing to statically
include them (e.g. `this.templates['name']`), or if you're using a
pre-compiling template engine of course the templates can be require()'d just
as other code.
hope this helps,
-natevw
On Sep 26, 2012, at 4:44 AM, Aliaksandr Barysiuk wrote:
> Hello,
>
> We're using mustache.js template engine in our lists/shows in the couchapp.
> Basically it is included like 'var mustache = require(lib/mustache)'. Now we
> also need mustache.js on the client side. What is the best place for it to
> avoid duplication? As i understand client can access to '_attachments' while
> lists/shows cannot.
>
> And one extra question here: is it possible to load templates dynamically in
> the show or list? We're able to include them statically via '!json
> templates.index'.
>
> Thank's