Hapi.js 插件之好用的 inert 插件详解

阅读时长 4 分钟读完

在现代web应用中,静态文件是不可或缺的,例如html、css、javascript以及图片等等。而Hapi.js是一个流行的开源Node.js框架,可以用于构建web应用程序。其中,Hapi.js插件的作用十分重要,插件可以简化代码并提高开发效率。其中,inert插件是一个非常好用的插件,本文将介绍inert插件的详细用法。

介绍

Hapi.js中的inert插件用于为服务器提供静态文件服务。为什么需要静态文件服务呢?因为将静态资源和服务通过不同的服务器或CDN部署具有更好的性能和安全性:例如,将静态文件存储在CDN上,而将服务部署在服务器上。

安装

安装inert插件非常简单,只需要使用以下命令即可:

使用

在创建Hapi.js服务器时,只需为其添加inert插件,即可为服务器启用静态文件服务。

-- -------------------- ---- -------
----- ---- - ----------------------
----- ----- - -----------------------
 
----- ------ - -------------
    ----- -----
    ----- -----------
---

----- -------- ------------- -
    ----- -----------------------

    --------------
        ------- ------
        ----- ---------
        -------- --------- -- -- -
            ------ ------ -------
        -
    ---

    --------------
        ------- ------
        ----- ------------
        -------- -
            ---------- -
                ----- ----------
            -
        -
    ---
  
    ----- ---------------
    ------------------- ------- ----- -----------------
-
 
--------------

在上述示例代码中,我们将inert插件添加到服务器上,然后分别设置了两个路由。其中,/hello路由返回一个简单的字符串'hello world'。而第二个路由则使用directory处理程序(handler),并将请求路径的所有内容都发送到public文件夹中。

在public文件夹中,可以创建各种静态资源文件,例如index.html、style.css、app.js等等。然后,就可以在浏览器中通过http://localhost:3000/index.html来访问静态文件了。

参数详解

在使用directory处理程序时,可以传递多个选项参数。以下是几个参数的简要概述:

  • path:要提供的文件路径。
  • index:服务应该提供哪些文件。例如,设置['index.html']表示在相应请求面没有提供文件名和指定的目录中有这个文件时,应该返回index.html文件。默认情况下,不提供这样的文件列表。
  • listing:设置为一个布尔值,如果为true,则会在目标文件夹中显示目录列表。
  • showHidden:设置为一个布尔值,如果为true,则显示隐藏文件。默认情况下,不显示这样的文件。
  • redirectToSlash:设置为一个布尔值,如果为true,则在没有斜杠的情况下重定向到使用斜杠的 URL。例如,如果请求/public,则会重定向到/public/。默认情况下,这个选项使用URL缩写(URL Abbreviation)并不进行重定向。
  • etagMethod:可以传递一个自定义函数,用于生成ETag,例如将文件系统的日期戳转换为文本并返回。默认情况下,不提供ETag。

总结

当你的web应用需要服务于静态文件时,inert插件是一个非常好用和高效的工具。本文中,我们介绍了inert插件的基本用法和各种参数选项。如果你的应用需要提供静态内容,则建议使用inert插件来简化代码并提高效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649abdf148841e98947b0a5b

纠错
反馈