笔记
了解
Vue脚手架 是Vue提供的标准化开发工具。
我们现在学的是Vue,注意本节讲的是 Vue脚手架。

Vue 脚手架
官网地址: https://cli.vuejs.org/zh/
Vue 脚手架 纯英文: Vue CLI //CLI = Command Line Interface 命令行接口工具(这个叫法 太官方,我们俗称 脚手架)
安装
安装前,需要把 npm地址 配置为 淘宝镜像(加速下载):
npm config set registry https://registry.npm.taobao.org然后全局安装 Vue CLI:
npm install -g @vue/cli可能在安装过程中会出一些警告,但是这些警告是Vue作者造成的,如果卡住了,我们按下回车即可。

安装完成之后,关闭cmd,再打开一次cmd。
切换到我们创建的项目的目录
如果想在桌面创建一个脚手架,那么我们就执行:
vue create 项目名
我们目前选择 Vue 2

回车,等待完成即可。最后就会在 vue_test目录中看到很多文件(脚手架 + hellowworld例子)
//用于翻译我们写的代码,并启动调试服务器。
npm run serve创建完成后,会在目录中给我们创建了 脚手架+例子HelloWorld
上面的内容来源视频教程。
我今天试了一下,截至 2025-10-26 的情况如下:


源码
本部分源码均由脚手架自动生成。
components\HelloWorld.vue
<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <p>
      For a guide and recipes on how to configure / customize this project,<br>
      check out the
      <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
    </p>
    <h3>Installed CLI Plugins</h3>
    <ul>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
    </ul>
    <h3>Essential Links</h3>
    <ul>
      <li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
      <li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
      <li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
      <li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
      <li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
    </ul>
    <h3>Ecosystem</h3>
    <ul>
      <li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
      <li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
      <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
      <li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
      <li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
    </ul>
  </div>
</template>
<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>App.vue
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <HelloWorld msg="Welcome to Your Vue.js App"/>
  </div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
  name: 'App',
  components: {
    HelloWorld
  }
}
</script>
<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>main.js
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
  render: h => h(App),
}).$mount('#app') 我的书签
 我的书签
                                 添加书签
 添加书签 移除书签
 移除书签