joe-sky / nornj

More exciting JS/JSX based on Template Engine, support control flow tags, custom directives, two-way binding, filters and custom operators.

Home Page:https://joe-sky.github.io/nornj

Repository from Github https://github.comjoe-sky/nornjRepository from Github https://github.comjoe-sky/nornj

作者您好,如下问题麻烦帮助解决下

chenlizhi55 opened this issue · comments

image
使用 npm run build-web-dev构建到后台后,后台访问如图。劳烦帮忙看看问题,感谢

这个#setVelocity语法,这个多页模板在构建后原html文件默认会生成vm文件,这里配的

这个得在支持Velocity的java服务端才能解析。

如果我想使用freeMarker,直接把configs.js中修改:
indexExtName: '.ftl',
就可以了吗?还需要修改其他地方吗?
试了一下,Java服务端生成了.ftl文件,但访问还是和之前页面还是和之前一样效果。

NornJ-cli中预置的react-mobx模板默认是使用Velocity,可以改成使用freeMarker。但是需要修改的地方比较多,至少有4-5处。这里有一个使用freeMarker的项目模板:https://github.com/joe-sky/react-mobx-ftl,可以用它重新初始化新项目。

使用NornJ-cli的下载模板功能可以直接使用这个模板:

  1. 输入nj init
  2. other,然后输入joe-sky/react-mobx-ftl就可以了

代码具体都改了哪里,您可以看下这个freeMarker模板的代码。另外,configs.js里默认配置的文件路径等未必完全适合您的后端java项目,如果不一致则需要修改。

1536546176 1
现在后台访问是这样的,感觉是不是有些文件没有打进来,后台返回了ftl文件内容,但浏览器没有渲染

怀疑在java后端没有配置freeMarker的layout文件位置,所以没渲染每个页面中使用layout渲染的部分。layout文件生成后在这里:
1

不知道为什么使用layout/default.html不生效,将它的内容直接写在index.html中就可以了,
image
目前已经好使了,感谢您的耐心指导,谢谢