Hapi.js子域路由到插件

时间:2014-08-13 05:23:06

标签: javascript node.js subdomain url-routing hapijs

我正在寻找一种方法将不同的子域路由到不同的插件。我浏览了API docs,但没有找到任何帮助。

1 个答案:

答案 0 :(得分:1)

我最终创建了一个简单的类来创建仅适用于某些子域的插件。在这里。

var Plugin = function(attributes, routes) {
    // Add our routes to the server
    this.register = function(plugin, options, next) {
        // Loop through the selected servers and add the routes
        plugin.servers.forEach(function(server) {
            // Loop through the routes and add the vhost option
            routes.map(function(route) {
                route.vhost = attributes.vhosts.map(function(vhost) {
                     return vhost + "." + server.info.host;
                });
            });

            // Add the routes
            server.route(routes);
        });
        next();
    };

    // Add our attributes
    this.register.attributes = attributes;
};

然后,您可以制作新插件并轻松指定子域。例如:

var plugin = new Plugin([
    // Your route or routes here
], {
    vhosts: ["array", "of", "subdomains"]
});