💦

Remixでconsole.logの結果がブラウザに表示されない

2022/02/17に公開

基本的なことができなくて困る

Remixを使っていたときにconsole.logしても結果が表示されない事象に遭遇しました。10時間くらい七転八倒していたので、供養のために取り上げたいと思います。

考えられる要因

要因は(今のところ)2つです。

  • サーバーサイドでconsole.logしてる
  • Scriptsタグをroot.tsx(root.jsx)に書くのを忘れている

サーバーサイド

loaderやactionの中でconsole.logしてもブラウザには表示されません。ブラウザではなく、ターミナルの方を見る必要があります。miniflareやRemix App Serverです。これはRemixを少し理解していれば回避が可能だと思われます。

Scriptsタグ

Scriptsタグについては公式の解説は結構さらっとしています。
https://remix.run/docs/en/v1/api/remix#meta-links-scripts
https://remix.run/docs/en/v1/tutorials/jokes#javascript
JavaScriptをHTMLに差し込むためのタグなんでしょう。これをrootに加えるのを忘れると、jsxやtsxを書いているのにクライアントサイドのスクリプトを無視される事態になります。がんばって書いているのに、悲しい。私はStack OverFlowにあったやりとりを見てこのことに気づきました。ありがとうございます。
https://stackoverflow.com/questions/70300943/onclick-event-listeners-are-not-working-in-remix

終わりに

新しい技術って問題にハマって時間を溶かすことが多いですが、でこぼこしたところも楽しみながら開発していきたいものです。現場からは以上です。

Discussion