やりたいこと
- HTML, CSS, JavaScriptはHanamiの
app/web/views
で書きたくない。 - Nuxt.jsやcreate-react-appとかで作ったものを public 配下で配信したい
- ただ Hanami.rb では
public/index.html
をおいても反映されなかった
やったこと
Hanami::Static#initializer
に index
オプションを付与する
require 'rack/static' module Hanami class Static < ::Rack::Static def initialize(app, root: Hanami.public_directory, header_rules: HEADER_RULES) super(app, urls: _urls(root), root: root, header_rules: header_rules, index: 'index.html') # index: 'index.html' を追加 end end end
動作確認をしたリポジトリ
Nuxt.js側の設定(srcDir
, generate dir
を指定を変えたり、 @nuxt/proxy 入れたり)もあります(雑コミットでごめんなさい)