2015-04-03 64 views
0

我創建了一個靜態路由是這樣的:提供靜態JavaScript文件中Hapi.js不工作

"use strict"; 

var StaticPlugin = { 
    register: function (server, options, next) { 
     server.route([ 
      { 
       method: 'GET', 
       path: '/public/{path*}', 
       config: { 
        auth: false, 
        description: 'Static assets', 
        handler: { 
         directory: { 
          path: '../public', 
          index: false, 
          listing: false 
         } 
        } 
       } 
      } 
     ]); 

     return next(); 
    } 
}; 

StaticPlugin.register.attributes = { 
    name: 'StaticPlugin', 
    version: '1.0.0' 
}; 

module.exports = StaticPlugin; 

我註冊的插件,但是當我試圖嘗試加載一個靜態的JS文件(將要用於服務靜態js庫),我得到一個404錯誤。

我試圖打的URL爲http://localhost:3000/public/javascripts/mylib.js

回答

3

在你的配置的路徑是相對到正在運行的進程的目錄。如果此插件位於子目錄中,並且您在主目錄中啓動服務器,則該路徑將不正確。無論是使用相對於項目的根目錄的路徑,或者結合使用Path.join()__dirname,如:

var Path = require('path'); 
Path.join(__dirname, '../public') 
0

你必須確保你使用的插件「惰性」