Hone logo
Hone
Problems

Configure a Vue 3 Project with Vite using TypeScript

This challenge focuses on setting up a basic Vue 3 project using Vite, leveraging TypeScript for enhanced code maintainability and type safety. Vite is a modern build tool that offers significantly faster development experiences compared to traditional bundlers. Successfully completing this challenge will provide a solid foundation for building robust and scalable Vue applications.

Problem Description

You are tasked with creating a vite.config.ts file for a Vue 3 project. This configuration file will define how Vite handles your project's assets, modules, and build process. The configuration should include essential plugins for Vue 3 development, such as the Vue plugin for single-file component compilation and TypeScript support. The goal is to create a functional Vite configuration that allows you to develop and build a Vue 3 application with TypeScript without errors.

Key Requirements:

  • Vue Plugin: Integrate the @vitejs/plugin-vue plugin to handle .vue files.
  • TypeScript Support: Ensure TypeScript compilation is enabled and configured correctly.
  • Root Directory: The configuration should be set up to recognize the project's root directory.
  • Environment Variables: Configure Vite to handle environment variables (e.g., VITE_API_URL).
  • Production Mode: The configuration should work correctly in both development and production modes.

Expected Behavior:

  • When running vite dev, the development server should start without errors, and Vue components should be correctly compiled.
  • When running vite build, the project should be built into a production-ready bundle without errors.
  • Environment variables defined in a .env file should be accessible within your Vue components.

Edge Cases to Consider:

  • Project structure: Assume a standard Vue 3 project structure with a src directory containing your components and a public directory for static assets.
  • Environment variables: Consider how to handle different environment variables for development and production.
  • TypeScript compilation: Ensure that TypeScript is correctly configured to compile your Vue components and application code.

Examples

Example 1:

Input: A new Vue 3 project initialized with `npm create vue@latest` and selected TypeScript.
Output: A `vite.config.ts` file that correctly compiles Vue components and handles environment variables.
Explanation: The configuration should include the Vue plugin and TypeScript support, allowing the project to be developed and built without errors.

Example 2:

Input:  A `.env` file containing `VITE_API_URL=https://example.com/api`
Output: The Vite configuration should allow access to `import.meta.env.VITE_API_URL` within Vue components.
Explanation: Vite should correctly load and expose environment variables defined in the `.env` file.

Constraints

  • Language: TypeScript
  • Vite Version: Assume the latest stable version of Vite.
  • Vue Version: Vue 3
  • Plugin Versions: Use the latest stable versions of @vitejs/plugin-vue.
  • File Format: The solution must be a valid vite.config.ts file.
  • No external dependencies beyond those typically used in a Vue 3 + Vite + TypeScript project. (e.g., no custom build tools).

Notes

  • Start with a minimal configuration and gradually add features as needed.
  • Refer to the official Vite and Vue documentation for guidance: https://vitejs.dev/ and https://vuejs.org/
  • Focus on creating a clean and well-structured configuration file.
  • Consider using import.meta.env to access environment variables.
  • The configuration should be compatible with both development (vite dev) and production (vite build) modes.
Loading editor...
typescript