首页 > 解决方案 > Ratpack:从类路径提供静态资源

问题描述

我的应用依赖于另一个包含 React SPA 的项目。当应用构建时,所有静态资源都被复制到构建目录/jar中,结构如下:

../
 |- index.html
 |- webroot
    |- static
    |   |- static/css/2.f5b2e8f7.chunk.css
    |   |- static/js/2.50b282b9.chunk.js
    |
    |- favicon.ico 

因此可以通过类路径获得。

现在,当我index.html这样渲染时:

handlers {     
    get{
      response.contentType 'text/html'
      render getClass().getResource( '/index.html' ).text
    }
}

我在日志中看到以下错误:

.. 错误 reiDefaultDevelopmentErrorHandler - 请求 /static/favicon.ico 的 404 客户端错误

.. 错误 reiDefaultDevelopmentErrorHandler - 请求 /static/static/css/2.f5b2e8f7.chunk.css 的 404 客户端错误

如何使所有这些/webroot/static/**->/static/static/**文件可访问?

我试图寻找ratpack-asset-pipeline完成我需要的东西,但没有找到任何与类路径相关的东西。

在基于我的姐妹应用程序中,Micronaut我定义了以下配置来启用静态资源:

micronaut:
  server:
    port: 8890
    cors.enabled: true
  router:
    static-resources:
      default:
        enabled: true   
        mapping: /static/**  
        paths: 
          - "classpath:webroot"

Ratpack 的对应物是什么?

标签: javagroovyratpack

解决方案


推荐阅读