【问题标题】:Use Jade as Durandal View Engine?使用 Jade 作为 Durandal 视图引擎?
【发布时间】:2013-05-04 15:07:08
【问题描述】:

Durandal 看起来支持自定义视图引擎: http://durandaljs.com/documentation/View-Engine/

但是我很难理解要更改或添加什么以使用 Jade 模板作为我的 Durandal 视图引擎(客户端,未在服务器上呈现)

是否应该完全重写 Durandal 源代码中的 viewEngine.js 实现? (https://github.com/BlueSpire/Durandal/blob/master/App/durandal/viewEngine.js)

或者有没有更简单的方法,比如添加jade作为requirejs loader? (例如https://github.com/rocketlabsdev/require-jade

任何帮助将不胜感激。

编辑:我确实尝试将上述 requirejs 插件添加到 Durandal,并通过 main.js 进行配置:

requirejs.config({
  paths: {
    ...
    'jade': 'durandal/amd/jade'
  }
});

...

var viewEngine = require('durandal/viewEngine');
viewEngine.viewExtension = ''; // Using .jade here results in requests for SomeView.jade.jade
viewEngine.viewPlugin = 'jade';

但视图定位器似乎有问题,不知道如何使用此设置进行配置。请注意,我在同一目录中使用视图 (.html) 和视图模型 (.js) 的约定,效果很好

【问题讨论】:

    标签: pug durandal


    【解决方案1】:

    通过稍微修改viewEngine,您可以使其加载和渲染.jade 文件。 Monkey 将 requirejs 路径配置修补为默认的 viewEngine 允许 Durandal 加载不同的视图引擎。

    我已经一起拍了一些东西here,demo可以找到here

    希望这可以帮助您朝着正确的方向前进。

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 2019-11-06
      • 1970-01-01
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      相关资源
      最近更新 更多