プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Vue.js
  • 【Vue.js】「SFC(Single File Components、単一ファイルコンポ…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Vue.js】「SFC(Single File Components、単一ファイルコンポーネント)」とは?

04.05

  • miyabisan2
  • コメントを書く

この記事は1分で読めます

SFC(Single File Components、単一ファイルコンポーネント)とは?

コンポーネントのHTML、CSS、JavaScriptを一つのファイルに記述して「.vue」という拡張子をつけたモジュールのことです。SFCとも呼ばれます。

特徴

  • 名前の通り「一つのファイルに一つのコンポーネント」しか定義することができません。
  • 開発環境でのみ使える特殊なフォーマットでありブラウザでそのまま実行することはできません。
  • 「Vue CLI」をインストールしてブラウザで実行可能な形式(HTML、CSS、JavaScript)に変換する必要があります。
  • 他のコンポーネント(モジュール)の読み込みにはimportを使います。

メリット

  • Vue.jsのコンポーネントのソースコードを一つのファイルで一元管理できるようになります。保守性向上に繋がります。
  • 従来のWeb標準技術(HTML、CSS、JavaScript)で構成されているので学習コストが低いこと。

SFCのフォーマット

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<template>
HTMLの内容(v-if等の通常のtemplateオプションの記述も利用可能)
</template>
 
<script>
//何かしらの処理
export default{
//JavaScriptの処理内容(UIの振る舞いを記述する)
}
</script>
 
<style scoped>
CSSの内容
</style>

template

HTMLの内容、v-if等の通常のtemplateオプションの記述も利用可能です。

script

SFCではES2015の構文である必ずエクスポートしなければなりません。

scoped

SFC独自の属性でstyleタグに定義したスタイルにスコープを与えます。scopedを定義したスタイルはそのコンポーネントのみに適用されるようになります。

ビルドのされ方

ビルドされることによって、vueという本来はブラウザで実行する事ができない形式をブラウザで実行できる形式に変換してくれます。

上記の図で言えば真ん中の箱は「バンドルツール」になります。中でもSFCが提供している全機能を使うことができる「webpack向けのVue Loader」というバンドルツールが人気でしょう。

vue serve

内部的にwebpackやVue Loaderを利用しておりビルドツールとして便利です。

--open

ブラウザでビルド結果を確認できます。

スポンサーリンク
  • 2020 04.05
  • miyabisan2
  • コメントを書く
  • Vue.js
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 07.17

    【Vue.js】「Vue Router」の基本、「Vuex」と連携してルーティング情報を一元管理

  2. 2018 07.15

    【Vue.js】「Vue CLI」を使って、webpackテンプレートからサンプルアプリを作成する。

  3. 2020 04.12

    【Vue.js】「ミックスイン」について

  4. 2020 04.05

    【Vue.js】「v-if」、「v-show」ディレクティブについて

  5. 2018 07.16

    【Vue.js】「コンポーネント」へのパラメータの受け渡し

  6. 2020 06.07

    【Vue.js】「カスタムディレクティブ」について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【JavaScript】「CORS」、「クロスドメイン…

【Vue.js】「Vuex」の概要、Nuxt.jsでの…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー