How to Create Functional Components using Vue Loader ?
Last Updated :
28 Apr, 2025
Vue.js is a JavaScript framework used in building powerful and beautiful user interfaces. The key feature of Vue.js is its component-based architecture that allows the developers to create reusable and modular components. Functional components, in particular, provide a lightweight and efficient way to build UI elements.
In this article, we will learn how to create functional components using Vue Loader. Vue Loader is a webpack loader specifically designed to create the Vue.js functional components.
What are Functional Components?
Functional components in Vue.js are stateless which means they have only one file and are primarily used for rendering UI elements based on the given props. The Functional Component is also Instanceless, which means that it doesn't have any instances, so doesn't point to specific objects with the help of this keyword. These components are simple, performant, and have no internal state or lifecycle methods. Functional components are used when there is only a need to present data or UI elements without actually adding complex logic. To specify the template that is compiled as a functional component, we need to include the functional attribute of that specific template block, which allows us to remove the functional option in the <script> block.
Steps to Create Vue App:
Step 1: Install Vue modules using the below npm command
npm install vue
Step 2: Use Vue JS through CLI. Open your terminal or command prompt and run the below command.
npm install --global vue-cli
Step 3: Create the new project using the below command
vue init webpack vueproject
Step 4: Change the directory to the newly created project
cd vueproject
Project Structure: The following project structure will be generated after completing the above-required steps:
Steps to install the Vue Loader:
npm install --save-dev vue-loader
- Using Vue loader to create functional components:
<template>
<!-- Vue HTML template -->
</template>
<script>
export default {
// Logic for vue component
}
</script>
<style>
/* Add your CSS styles */
</style>
Example 1: Below example demonstrates a basic functional component created using Vue Loader.
JavaScript
<template>
<div class="func-loader-component">
<h1 class="header">{{ header }}</h1>
<h3>{{ title }}</h3>
<h5>{{ about }}</h5>
</div>
</template>
<script>
export default {
name: 'ExampleComponent',
props: {
header: String,
title: String,
about: String,
},
}
</script>
<style scoped>
.func-loader-component {
padding: 10px;
}
.header {
color: green
}
</style>
JavaScript
<template>
<div>
<example-component header="GeeksforGeeks"
title="Data Structures"
about= "Learn Data Structures and
Algorithms from India's best
coding platform." />
</div>
</template>
<script>
import ExampleComponent from
'./components/ExampleComponent.vue';
export default {
components: {
ExampleComponent,
},
}
</script>
Output:

Example 2: Below example demonstrates a functional component having an external template and scoped styles created using the Vue Loader.
JavaScript
<template src="./MyTemplate.html"></template>
<script>
export default {
name: 'ExampleComponent',
props: {
header: String,
title: String,
about: String,
},
}
</script>
<style scoped src="./MyStyles.css"></style>
HTML
<div class="func-loader-component">
<h1 class="header">{{ header }}</h1>
<h3>{{ title }}</h3>
<h5>{{ about }}</h5>
</div>
CSS
.func-loader-component {
padding: 10px;
background-color: rgb(231, 231, 237);
}
.header {
color: green
}
JavaScript
<template>
<div>
<example-component header="GeeksforGeeks"
title="Data Structures"
about="Learn Data Structures and Algorithms
from India's best coding platform." />
</div>
</template>
<script>
import ExampleComponent from
'./components/ExampleComponent.vue';
export default {
components: {
ExampleComponent,
},
}
</script>
Output:
Reference: https://vue-loader.vuejs.org/guide/functional.html
Similar Reads
How to create Functional Components in React ? To create a functional component in React, you define a JavaScript function that returns JSX. These components are stateless and rely on props for data input. Functional components are concise, easy to read, and can utilize React Hooks for managing state and side effects, making them a fundamental b
2 min read
Vue.js Render Functions Component VNodes creation Vue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
2 min read
Lazy Loading Components in VueJS Lazy Loading, fundamentally, is a design principle that delays the initialization of an object or a resource until the point at which it is genuinely required. The purpose of lazy loading is to postpone downloading parts of the application that are not needed by the user on the initial page load whi
2 min read
How to Call a Vue.js Function on Page Load ? In this article, we will learn how to call a vue.js function on page load in VueJS. We will explore two different approaches with practical implementation in terms of examples and outputs. Table of Content Using mounted HookUsing created HookUsing mounted HookIn this approach, are using the mounted
2 min read
How to Add External JS Scripts to VueJS Components? VueJS is a popular front-end JavaScript framework that allows us to develop single-page web applications with the help of components. We can also add external JS scripts in the framework to integrate any 3rd party web services into our application. Below are the approaches to add external JS scripts
2 min read