Search code examples
javascriptnode.jsexpresssails.jsswig-template

Sails.js swig template not working


I installed Sails.js 0.9.4 and created an application that uses the swig template engine with the following command:

sails new sailsproject--template=swig

When I try to run the app via sails lift I get the following error:

C:\Users\akis\Desktop\sailsproject>sails lift

C:\Users\akis\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\ap
plication.js:174
  if ('function' != typeof fn) throw new Error('callback function required');
                                     ^
Error: callback function required
    at Function.app.engine (C:\Users\akis\AppData\Roaming\npm\node_modules\sails
\node_modules\express\lib\application.js:174:38)
    at Array.loadExpress [as 1] (C:\Users\akis\AppData\Roaming\npm\node_modules\
sails\lib\express\index.js:70:7)
    at listener (C:\Users\akis\AppData\Roaming\npm\node_modules\sails\node_modul
es\async\lib\async.js:462:46)
    at C:\Users\akis\AppData\Roaming\npm\node_modules\sails\node_modules\async\l
ib\async.js:416:17
    at Array.forEach (native)
    at _each (C:\Users\akis\AppData\Roaming\npm\node_modules\sails\node_modules\
async\lib\async.js:32:24)
    at Object.taskComplete (C:\Users\akis\AppData\Roaming\npm\node_modules\sails
\node_modules\async\lib\async.js:415:13)
    at processImmediate [as _immediateCallback] (timers.js:330:15)

C:\Users\akis\Desktop\sailsproject>

Does anyone know why? It works perfectly with jade or ejs and the docs in the /config/views.js file state that Sails supports other templates as well (including swig).


Solution

  • This is a bug that is fixed in the development branch of sails and should be fixed in the next release.

    See: https://github.com/balderdashy/sails/issues/868