Switching from swig, but getting errors with imported macros

87 views
Skip to first unread message

Dannii Willis

unread,
Oct 3, 2015, 4:53:05 AM10/3/15
to Nunjucks
I'm trying to switch from swig to nunjucks, but I'm getting errors when I try to use imported macros.



The following error is shown:

Template render error: (/home/dannii/i7el/web/views/index.html) [Line 28, Column 19]
 
Error: Unable to call `macros["icon"]`, which is undefined or falsey
    at
Object.exports.prettifyError (/home/dannii/i7el/node_modules/nunjucks/src/lib.js:34:15)
    at
/home/dannii/i7el/node_modules/nunjucks/src/environment.js:462:31
    at
eval (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:47:11)
    at b_content
(eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:94:3)
    at
eval (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:46:86)
    at b_head
(eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:76:1)
    at
eval (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:18:83)
    at b_title
(eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:65:1)
    at
eval (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:14:84)
    at
/home/dannii/i7el/node_modules/nunjucks/src/environment.js:513:33
    at root
[as rootRenderFunc] (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:143:1)
    at
Obj.extend.getExported (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:508:14)
    at
eval (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:10:5)
    at
Obj.extend.getTemplate (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:185:17)
    at root
[as rootRenderFunc] (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:8:5)
    at
eval (eval at <anonymous> (/home/dannii/i7el/node_modules/nunjucks/src/environment.js:537:24), <anonymous>:26:16)

 Any ideas on what I'm doing wrong?

Carl Meyer

unread,
Oct 20, 2015, 6:11:11 PM10/20/15
to Nunjucks
Hi Dannii,


On Saturday, October 3, 2015 at 2:53:05 AM UTC-6, Dannii Willis wrote:
I'm trying to switch from swig to nunjucks, but I'm getting errors when I try to use imported macros.



The following error is shown:
[snip]

 Any ideas on what I'm doing wrong?

Your macros file includes a call to `macros.icon(...)` (in the `extensions` macro). This is wrong; from within the same file it's just `icon(...)`, it's only `macros.icon(...)` in the other file because you have `{% import 'macros.html' as macros %}` there.

Carl

Dannii Willis

unread,
Oct 25, 2015, 1:24:51 AM10/25/15
to Nunjucks
Ah, thank you so much! I feel rather silly now. I guess that swig handles imports differently so that the module name is internally available.
Reply all
Reply to author
Forward
0 new messages