2

我目前正在开发一个带有使用 Hapi 的服务器的应用程序,每当我尝试加载.jade文件时都会遇到问题。这是我的index.js文件的当前代码:

var Hapi = require('hapi');

var internals = {};

internals.main = function() {
  var options = {
    views: {
      engines: { jade: 'jade' },
      path: '../app',
      compileOptions: {
        pretty: true
      }
    }
  };

  this._server = new Hapi.createServer('localhost', 8000, options);

  this._server.route({
    method: 'GET',
    path: '/',
    handler: function(request, reply) {
      reply.view('index')
    }
  });
  // Start server.
  this._server.start()
};

internals.main();

该文件在目录中有一系列本地脚本和 CSS 文件app,但是当页面index.jade加载时,它看不到那些本地文件。我需要在选项中添加/修改什么,或者本地脚本和样式文件的这个位置是使用 Hapi 进行翡翠编译的问题吗?

4

1 回答 1

6

我正在寻找类似的解决方案,同时尝试使用 angular.js 和 hapi.js 设置单页应用程序

我发现将以下配置添加到您的服务器路由将有助于使“/public”目录中的 CSS、JS、... 文件对应用程序可见。

server.route({
    method: "GET",
    path: "/public/{path*}",
    handler: {
        directory: {
            path: "./public",
            listing: false,
            index: false
        }
    }
});

希望能帮助到你。

于 2014-08-13T18:13:09.680 回答