javascript - Hapi.js View 看不到本地脚本

标签 javascript node.js hapi.js

我目前正在开发一个带有服务器的应用程序,该服务器使用 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();

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

最佳答案

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

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

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

希望对您有所帮助。

关于javascript - Hapi.js View 看不到本地脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23852020/

相关文章:

node.js - NodeJS SFTP 获取 zip 文件

node.js - ReactJS-警告 : Unknown prop

node.js - 同时调用带有缓存的 hapi 服务器方法会发生什么情况?

node.js - Hapi js - makemehapi 问题

node.js - 前后台项目分开怎么部署?

javascript - 如何在sessionStorage中基于数组显示div

javascript - threejs - 网格上的 customDepthMaterial 属性未包含在 scene.toJSON 输出中

javascript - D3.js - 更新 svg 路径的标题

javascript - 背景图片未出现在 Highcharts 中

javascript - Express 4 和自定义模块