猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

Vue CLI で TypeError: u is undefined componentNormalizer.js:24 エラー

f:id:yoshiki_utakata:20190104172239p:plain

状況

  • Vue CLI 3(3.2.1)
  • nom 6.4.1
  • yarn 1.12.3

の環境で、yarn serve だと問題なく動作するが、yarn build した結果だとうまくレンダリングされず、TypeError: u is undefined componentNormalizer.js:24 エラーが出る。

詳細はこんな感じだ。

Uncaught TypeError: Cannot set property 'render' of undefined
at r (componentNormalizer.js:24)
at Module.56d7 (Header.vue:9)
at c (bootstrap:78)
at Object.0 (bootstrap:151)
at c (bootstrap:78)
at s (bootstrap:45)
at 0 (bootstrap:151)
at bootstrap:151

結論

*.vue ファイルで空の <script></script> があると動かない。今回の場合、 Header.vue の script タグの中に何も書かれていなかったのがだめだったらしい。

以下のissueに書いてある。

github.com

ただ、serveの方では問題なく動くので非常に罠っぽい。