Bird
Raised Fist0
Vueframework~10 mins

Vue project structure walkthrough - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the main Vue component in main.js.

Vue
import { createApp } from 'vue';
import App from './[1]';

createApp(App).mount('#app');
Drag options to blanks, or click blank then click option'
AApp.vue
Bmain.js
Cindex.html
Drouter.js
Attempts:
3 left
💡 Hint
Common Mistakes
Importing a JavaScript file instead of the Vue component.
Using the HTML file name instead of the Vue component.
2fill in blank
medium

Complete the code to register a router in the Vue app.

Vue
import { createApp } from 'vue';
import App from './App.vue';
import router from './[1]';

createApp(App).use(router).mount('#app');
Drag options to blanks, or click blank then click option'
Astore.js
Bmain.js
Crouter.js
Dindex.html
Attempts:
3 left
💡 Hint
Common Mistakes
Importing the store file instead of the router.
Trying to import the main app file again.
3fill in blank
hard

Fix the error in the Vue component import statement.

Vue
import [1] from './components/HelloWorld.vue';
Drag options to blanks, or click blank then click option'
AhelloWorld
BHelloWorld
Chelloworld
Dhello_world
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase names that don't match the file name.
Using underscores instead of camel case.
4fill in blank
hard

Fill both blanks to create a reactive variable and update it in Vue 3 Composition API.

Vue
import { [1] } from 'vue';

const count = [2](0);
Drag options to blanks, or click blank then click option'
Aref
Breactive
Ccomputed
Dwatch
Attempts:
3 left
💡 Hint
Common Mistakes
Using reactive for primitive values instead of objects.
Confusing computed with reactive state.
5fill in blank
hard

Fill all three blanks to define a computed property that doubles a count value.

Vue
import { ref, [1] } from 'vue';

const count = ref(1);
const doubleCount = [2](() => count.value [3] 2);
Drag options to blanks, or click blank then click option'
Acomputed
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition instead of multiplication.
Not using computed for reactive computed values.

Practice

(1/5)
1. In a typical Vue project, where do you place your main application code like components and views?
easy
A. Inside the public/ folder
B. In the root project folder
C. Inside the src/ folder
D. Inside the node_modules/ folder

Solution

  1. Step 1: Understand folder roles in Vue projects

    The src/ folder is designed to hold your app's source code, including components and views.
  2. Step 2: Identify correct folder for main code

    The public/ folder holds static files like index.html, not app code.
  3. Final Answer:

    Inside the src/ folder -> Option C
  4. Quick Check:

    App code = src/ folder [OK]
Hint: Remember: src/ is for source code, public/ for static files [OK]
Common Mistakes:
  • Confusing public/ with src/ folder
  • Putting components in public/ folder
  • Placing code in node_modules/ folder
2. Which file in a Vue project typically serves as the entry point for the app?
easy
A. README.md in the root folder
B. index.html inside src/
C. package.json in the root folder
D. main.js or main.ts inside src/

Solution

  1. Step 1: Identify entry point files in Vue

    The entry point is usually a JavaScript or TypeScript file named main.js or main.ts inside src/.
  2. Step 2: Differentiate from other files

    index.html is a static file in public/, package.json manages dependencies, and README.md is documentation.
  3. Final Answer:

    main.js or main.ts inside src/ -> Option D
  4. Quick Check:

    Entry point = main.js/ts in src/ [OK]
Hint: Entry point is main.js or main.ts inside src/ [OK]
Common Mistakes:
  • Choosing index.html as entry point
  • Confusing package.json with entry point
  • Selecting README.md as app start file
3. Given this Vue project structure snippet:
public/
  index.html
src/
  components/
    HelloWorld.vue
  App.vue
  main.js

Which file is responsible for mounting the Vue app to the HTML page?
medium
A. App.vue
B. main.js
C. index.html
D. HelloWorld.vue

Solution

  1. Step 1: Understand mounting in Vue

    The main.js file usually creates the Vue app instance and mounts it to an element in index.html.
  2. Step 2: Identify roles of other files

    App.vue is the root component, index.html is the static HTML, and HelloWorld.vue is a child component.
  3. Final Answer:

    main.js -> Option B
  4. Quick Check:

    Mounting happens in main.js [OK]
Hint: Mounting code is in main.js, not components or HTML [OK]
Common Mistakes:
  • Thinking App.vue mounts the app
  • Choosing index.html as mounting file
  • Confusing child components with mounting logic
4. You see this error when running your Vue app:
Cannot find module './components/HelloWorld.vue'
What is the most likely cause related to project structure?
medium
A. The components folder is missing inside src/
B. The public/ folder is empty
C. The index.html file is inside src/
D. The main.js file is missing in the root folder

Solution

  1. Step 1: Analyze the error message

    The error says it cannot find the module ./components/HelloWorld.vue, meaning the import path is broken.
  2. Step 2: Check folder structure relevance

    If the components folder is missing inside src/, the import will fail. Other options do not affect this import.
  3. Final Answer:

    The components folder is missing inside src/ -> Option A
  4. Quick Check:

    Missing components folder breaks imports [OK]
Hint: Missing folder causes import errors, check src/components/ [OK]
Common Mistakes:
  • Ignoring folder location for components
  • Thinking public/ folder affects imports
  • Assuming main.js must be in root folder
5. You want to add a global CSS file to your Vue project that should be included in every component. Where should you place this CSS file and how should you include it?
hard
A. Place it in src/assets/ and import it in main.js
B. Place it in public/ and link it in App.vue
C. Place it in src/components/ and import it in each component
D. Place it in the root folder and import it in index.html

Solution

  1. Step 1: Identify best folder for global assets

    The src/assets/ folder is used for styles and images that are part of the app source.
  2. Step 2: Include global CSS properly

    Importing the CSS file in main.js ensures it loads once and applies globally to all components.
  3. Final Answer:

    Place it in src/assets/ and import it in main.js -> Option A
  4. Quick Check:

    Global CSS in src/assets, imported in main.js [OK]
Hint: Global CSS goes in src/assets and imported in main.js [OK]
Common Mistakes:
  • Linking CSS in App.vue instead of main.js
  • Putting CSS in public/ folder without import
  • Importing CSS separately in every component
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard