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
Implementing Lazy Loading for Functional Components in React React is a popular library, maintained by Meta, which is used for building user interfaces and dynamic websites. It offers several techniques to optimize performance and enhance end-user experience. Lazy loading is one such technique that can be used to improve the performance of web applications by
2 min read
How to Use Lodash in Vue Component Template? In a Vue component, you can use Lodash by importing specific methods or the entire library into your script section. Lodash methods can be applied in computed properties or methods for efficient data manipulation, helping to keep your Vue templates clean and optimized.PrerequisitesJavascriptVueJsloa
2 min read
How to Force a Vue Component to Re-Render? In VueJS, you may sometimes need to force a component to re-render, especially when the component doesn't update automatically due to Vue's reactivity system not detecting changes. One way to achieve this is by using a unique key attribute. Changing the key will force Vue to destroy and recreate the
3 min read
How to Set a Unique ID for Each Component Instance in VueJS ? In Vue.js we can assign the unique ID to each of the component instances for properly managing the components in the application. In this article, we will see the different approaches to setting the unique ID for each component instance in VueJS.These are the following approaches:Table of ContentApp
3 min read
How to Update Parent Data from Child Component in VueJS? In Vue.js, communication between components is essential for building dynamic applications. One common scenario is updating the parent component's data from a child component. we will cover several ways to achieve this, including custom events, and v-model. Updating parent data from a child componen
3 min read