質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

993閲覧

Vueのコンポーネントの記述がファイル名によって挙動が変わる

nosuke09

総合スコア9

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2023/03/27 01:56

実現したいこと

Vueでコンポーネントを書きたい。

前提

環境構築をdockerで行いました。
クイックスタートの例に倣って
$ npm init vue@latest [プロジェクト名]
で行いました。
ただ、意味がわからない状況なのですが、ファイル名によってコンポーネントを呼び出せたり、呼び出せない状況になっています。

発生している問題・エラーメッセージ

ログイン画面を実装しようと思い、LoginForm.vueというファイルを作成し、下記のように記述しました。

JavaScript

1<template> 2 <p>ログイン</p> 3</template>

そして呼び出し元で

JavaScript

1<script setup> 2 import LoginForm from './components/LoginForm.Vue'; 3</script> 4 5<template> 6 <LoginForm /> 7</template>

とするとエラーが発生し、

Internal server error: Failed to parse source for import analysis because the content contains invalid JS syntax. You may need to install appropriate plugins to handle the .Vue file format, or if it's an asset, add "**/*.Vue" to `assetsInclude` in your configuration.

となります。
ただクイックスタートの時点でコンポーネントを作成してApp.vueの中で呼び出すということはしており、中でも<h2>タグ等を利用しているため、同じことなのに何故エラーになるのかが理解できません。

試したこと

そこでいろいろ試していたところVSCodeの話になりますが、ファイル名によって挙動が違うことに気づきました。
元からあったコンポーネントファイルでは、補完機能が働いており、
<template>と記述すると、閉じタグを補完で勝手に記述してくれます。
しかし、先ほど作成した「LoginForm.vue」では補完してくれません。
予測機能もこのようになっており(左横がabc)
イメージ説明
逆に補完してくれるファイルはこのようになっています。(ツールマークのようなもの)
イメージ説明

補完してくれるファイルのコンポーネント呼び出しは中身が全く同じでも正常に動作します。

いろいろ試したところ、補完してくれるファイルは

A,B,C,Z Login,Easy,Welcome,SignupFormなど

補完してくれないファイルは

LoginForm,Money

でした。
最初に作ろうとしたファイルが補完してくれなかったものでつまづいてしまいましたが、あまり例はありませんでした。
しかし依然ファイル名によってコンポーネント呼び出しができないのは変わらず原因が気になっています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

VScodeの挙動がおかしかったからかもしれません。時間が経って、アプリを落とし、PCを再起動してから同じ事象には出会いませんでした

投稿2023/04/08 07:29

nosuke09

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

拡張子が大文字だからでしょうか?

js

1import LoginForm from './components/LoginForm.vue';

投稿2023/04/01 11:20

yukihide1188

総合スコア44

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問