首页 > 其他分享 >26-Vue脚手架-分析脚手架

26-Vue脚手架-分析脚手架

时间:2023-10-18 17:13:26浏览次数:36  
标签:26 Vue App School vue Student 组件 脚手架

将 24-Vue组件化编程-单文件组件 放到使用Vue脚手架创建的vue_test项目中

 

脚手架文件结构

    ├── node_modules 
    ├── public
    │   ├── favicon.ico: 页签图标
    │   └── index.html: 主页面
    ├── src
    │   ├── assets: 存放静态资源
    │   │   └── logo.png
    │   │── component: 存放组件
    │   │   └── HelloWorld.vue
    │   │── App.vue: 汇总所有组件
    │   │── main.js: 入口文件
    ├── .gitignore: git版本管制忽略的配置
    ├── babel.config.js: babel的配置文件
    ├── package.json: 应用包配置文件 
    ├── README.md: 应用描述文件
    ├── package-lock.json:包版本控制文件

 

src/components/School.vue

<template>
  <!--组件的结构-->
  <div class="demo" style="background-color:orange;">
    <h2>学校名称:{{schoolName}}</h2>
    <h2>学校地址:{{address}}</h2>
    <button @click="showName">点击提示学校信息</button>
  </div>
</template>

<script>
  // 组件交互相关的代码(数据、方法)
  export default {
    // eslint-disable-next-line vue/multi-word-component-names
    name:"School",

    data(){
      return{
        schoolName:"东华理工大学",
        address:"江西南昌"
      }
    },
    methods:{
      showName(){
        alert(this.schoolName)
      }
    }
  }

</script>

<style>
 //组件的样式
  .demo {
    //background-color: orange;
  }
</style>

src/components/Student.vue

<template>
  <!--组件的结构-->
  <div>
    <h2>学生姓名:{{name}}</h2>
    <h2>学生年龄:{{age}}</h2>
  </div>
</template>

<script>
  // 组件交互相关的代码(数据、方法)
  export default {
    // eslint-disable-next-line vue/multi-word-component-names
    name:"Student",

    data(){
      return{
        name:"马铃薯",
        age:26
      }
    }
  }
</script>

<style>
</style>

src/App.vue

<template>
  <div>
    <img src="./assets/logo.png">
    <!--使用组件标签-->
    <School></School>
    <Student></Student>
  </div>
</template>

<script>
// 引入组件
import School from "./components/School.vue";
import Student from "./components/Student.vue";

export default {
  name:"App",
  // 注册组件
  components:{
    School:School,
    Student:Student
  }
}
</script>

<style>
</style>

src/main.js

// 该文件是整个项目的入口文件

// 引入Vue(残缺版)
import Vue from 'vue'
// 引入Vue(完整版)
// import Vue from 'vue/dist/vue'

// 引入App组件,它是所有组件的父组件
import App from './App.vue'

// 阻止 vue 在启动时生成生产提示
Vue.config.productionTip = false

// 创建Vue实例对象 vm
// new Vue({
//   render: h => h(App),
// }).$mount('#app')

new Vue({
  el:"#app",
  // 下面这行代码一会解释,完成了这个功能:将App组件放入容器中
  render: h => h(App),

  // 引入Vue(残缺版)写法
  // render(createElement){
  //   console.log(666)
  //   return createElement("h1","你好啊")
  // }

  // 引入Vue(完整版)写法
  // template:"<h1>你好啊</h1>",
  // components:{App:App}

})

public/index.html

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <!-- 针对IE浏览器的一个特殊配置,含义是仍IE浏览器以最高的渲染级别渲染页面 -->
    <!-- Vue不支持IE8及以下的版本,因为Vue使用了IE8无法模拟的ECMAScript 5特性。但它支持所有兼容ECMAScript 5的浏览器 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 开启移动端的理想视口 -->
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <!-- 配置页签的图标 -->
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <!-- 配置网页的标题 -->
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <!--当浏览器不支持js时,noscript中的元素就会被渲染-->
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

 

标签:26,Vue,App,School,vue,Student,组件,脚手架
From: https://www.cnblogs.com/REN-Murphy/p/17772840.html

相关文章

  • [vue]精宏技术部试用期学习笔记 II
    精宏技术部试用期学习笔记(vue)router:vue的模拟路由前置准备安装vue-routerpnpmivue-router@4//安装版本4的vue-router可以在package.json文件中查看依赖"dependencies":{"vue":"^3.3.4","vue-router":"4"//这里},新建文件夹/src......
  • vue进行跳转之后出现Cannot read properties of undefined (reading 'router') TypeEr
    问题描述使用router进行页面跳转时,就出现了这样的问题:也就是这里出现了问题:问题解决本来是按照网上的教程:const_this=this;但是,但是,我本来就是用的这种方法呀~然后就打算直接在这个界面引用:importrouterfrom'@/router'router.push('/one');里面引用的跳转页面......
  • Vite+Vue3 加载速度优化
    可以考虑从以下几个方面优化。整体思路:1.减小打包体积。2.异步加载。静态资源拆分打包在常规打包方法下,所有的第三方依赖将会都打包在一个vendor.js文件里,首次打开页面时,服务器会先加载这个大文件,导致白屏时间过长。而我们打包时,事先将依赖拆分成很多小文件各自进行打包,便可......
  • vue点击文字打开扩展列
    <template><custom-cardshadow="hover"bordered><divclass="system-search"><divclass="search-box"><el-inputclass="box-input"placeh......
  • Vue 实现 PDF 导出功能
    旨在通过html2canvas和jspdf,先将页面的html转成canvas,再将canvas转成pdf,同时解决了分页截断的问题。安装依赖yarnaddhtml2canvasyarnaddjspdf思路通过网上的一些教程,初步实现了html转pdf的功能,将一整个DOM元素放进去,虽然可以粗糙实现,但是出现了很多地方......
  • [vue]精宏技术部试用期学习笔记 I
    精宏技术部试用期学习笔记(vue)什么是vue?我个人对vue的理解是把html\css\js三件套融合起来的结构,同时用组件化的思维把一个页面装填起来同时让页面形成树状结构优点是方便多人员维护提高代码复用性如何创建一个vue项目?我这里使用的是vite+vue的轻量化项目,使用pnpm......
  • Vue项目打包为桌面应用
    vue项目首先使用 npmrunbuild 打包为dist文件后,进入dist目录得到如下文件:就是打包后的html+css+js+static 新建一个deskapp文件夹,里面在新建一个App文件夹,把打包好的dist里面的所有文件拷贝到App文件夹里面: 然后我们需要用到一个安装包的json文件,在deskapp文件夹中新建......
  • vue项目中添加全页水印
    先看代码1/**水印添加方法*/23letsetWatermark=(str1,str2)=>{4letid='1.23452384164.123412415'56if(document.getElementById(id)!==null){7document.body.removeChild(document.getElementById(id))8}......
  • SP26719题解
    考虑动态规划。思路设\(dp_{i,j}\)为\((1,1)\)到\((i,j)\)的方案数,而如果要到这个点,肯定是从左边和上边来。所以递推公式为:\(dp_{i,j}=dp_{i,j-1}+dp_{i-1,j}\)。预处理:将横或纵坐标为1的点赋值为1,因为到达这些点的只有一种方法。注意:每次需要清零数组。ACC......
  • 999 vue 小结
    一、组件之间的数据传输传递带有返回值的js值(1)props:既可以实现父传子,也可以实现子传父(不常用应该)(2)自定义事件,也叫组件传递事件,$emit()实现子传父传递template中的HTML内容:slot插槽......