在 Hapi.js 中提供静态 JavaScript 文件无效

Serving static JavaScript file in Hapi.js not working

我创建了这样一条静态路由:

"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

在您的配置中,路径是相对于进程所在目录的 运行。如果此插件在子目录中,而您在主目录中启动服务器,则路径将不正确。要么使用相对于项目根目录的路径,要么使用 Path.join() in conjunction with __dirname,例如:

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

您必须确保使用插件 "Inert"