ume

javascript Uncaught Error: Cannot find moduleエラーについて

対象者

エラーの内容と経緯

経緯 rails6でjavascriptを導入しようとしました。 やったことは

qiita.com

ですようはHello Worldjavascriptでコンソールに表示させようとしました。

今回はapplication.js内でhome.jsを読み込んでいます.
エラーの内容は homeというファイルが見つからないよといっている.
なぜか?
⇨結論ファイルの配置の場所かパスの指定方法が間違っている.
エラー文の の意味はapplication.jsファイルの13行目あたりがおかしいといっている 私のapplication.jsの中を覗いてみると13行目付近に以下の記述がある

require('home')

この文の意味は[homeファイルを読み込みます]ということ。 ここのパスが間違っていました。 この書き方だと

app.  
 javascript(フォルダー).  
   channels(フォルダー).  
   packs(フォルダー).  
   application.jsファイル
  home.jsファイル

このようにjavascriptフォルダ内にhomeファイルがあることになる.
しかし私の配置はは

app.  
 javascript(フォルダー).  
   channels(フォルダー).  
   packs(フォルダー).  
     application.jsファイル(packsフォルダー内)
     home.jsファイル(packsフォルダー内)
  

packsフォルダー内にある.
⇨解決策 application.jsやhome.jsの親ディレクトリから見てこの2つのファイルがどこにあるのかを伝えてあげる。 今回の親ディレクトリはpacksなので'packs/home'のようにpacksの中のhomeというように指定してあげると

require('packs/home')

エラー分が消えました。 ちなみに./homeこの様にしても良い。

理想は現在のファイルが置いているフォルダから見てファイルはどこにあるかを指定しないとあかん