【问题标题】:Using express without a template engine在没有模板引擎的情况下使用 express
【发布时间】:2011-11-11 05:05:57
【问题描述】:

是否可以在不需要jade或ejs等模板引擎的情况下创建一个express(节点)应用程序。我在大学有一个大型的最后一年项目,我将使用 node、express、socket.io、mongoDB 和 websockets。我不想让自己也不得不学习模板语言!

express默认使用jade -t, --template 添加模板支持 (jade|ejs)。默认=翡翠

【问题讨论】:

    标签: node.js express socket.io


    【解决方案1】:

    是否可以在不需要jade或ejs等模板引擎的情况下创建一个express(node)应用程序

    是的。您可以只使用 HTML。或者只是使用 EJS。 EJS 是 HTML 的超集。

    我也不想让自己负担学习模板语言的负担!

    您可以在一天内学习一门模板语言。它真的会帮助你。去做就对了。这是值得的。

    【讨论】:

    • 当涉及到任何与 JavaScript 相关的问题时,您总能得到答案,而且您的答案总是中肯且内容丰富。谢谢!
    • 我认为这与学习新的模板语言无关,我只是认为使用模板引擎会弄乱您的 html 页面。想象一下,如果你有很多精心设计的 html 页面,你必须将它们翻译成全新的模板格式,这很糟糕。
    • 能否详细说明如何使用 HTML 作为视图引擎?
    • 模板引擎可以帮助开发人员。对于许多语言来说,后端代码与前端代码的匹配并不容易,但是,使用 node.js,我真的觉得开发人员可以使用原生前端代码。但是,如果您使用多种语言进行开发,模板系统将在保持设计一致方面发挥出色的作用。
    【解决方案2】:

    如果您只想避免学习另一种模板语言,您可能想尝试下划线模板。它们只是 javascript,无论如何你都要学习。

    documentcloud.github.com/underscore/#template

    你可以这样设置:

    app.register('.html', {
        compile: function(str, options){
            var compiled = require('underscore').template(str);
            return function(locals) {
                return compiled(locals);
            };
        }
    });
    

    【讨论】:

      【解决方案3】:

      执行此操作的最简单方法是将默认的 app.get('/')... 行替换为以下内容。 然后把所有的魔法都放在 index.html 中。这至少对于单页应用程序来说效果很好。

      以下

      app.get('/', function(request, response) {
      var readFile = "index.html";
      var fileContents = fs.readFileSync(readFile);
      
      response.send(fileContents.toString());
      });
      

      【讨论】:

        【解决方案4】:

        目前最好的选择是使用 ejs(引擎)并将其配置为接受和呈现 html:

        app.set('views', path.join(*__dirname*, 'views'))
        app.set('view engine', 'ejs'); // template engine
        app.engine('html', require('ejs').renderFile); // turn engine to use html
        

        注意:您所有的视图或模板都有.html 扩展名。

        【讨论】:

          猜你喜欢
          • 2016-05-10
          • 2016-04-23
          • 2018-07-03
          • 1970-01-01
          • 2012-05-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多