Vue CLI 初始化脚手架

news2024/11/27 0:39:34

3.1. 初始化脚手架

3.1.1. 说明

  • Vue脚手架Vue官方提供的标准化开发工具(开发平台)
  • 最新的版本是 4.x
  • 文档 Vue CLI

3.1.2. 具体步骤

  1. 如果下载缓慢请配置npm淘宝镜像npm config set registry http://registry.npm.taobao.org
  2. 全局安装 @vue/cli npm install -g @vue/cli
  3. 切换到创建项目的目录,使用命令创建项目vue create xxx
  4. 选择使用vue的版本
  5. 启动项目npm run serve
  6. 打包项目npm run build
  7. 暂停项目 Ctrl+C

Vue脚手架隐藏了所有webpack相关的配置,若想查看具体的webpack配置,请执行vue inspect > output.js

3.1.3. 脚手架文件结构

.文件目录
├── 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 id='Demo'> 
        <h2>学校名称:{{name}}</h2> 
        <h2>学校地址:{{address}}</h2> 
        <button @click="showName">点我提示学校名</button>
    </div>
</template>

<script> 
    /* 组件交互相关的代码(数据、方法等等) */
    export default { 
        name:'School', 
        data() { 
            return { 
                name:'莆田学院', address:'福建莆田' 
            } 
        }, 
        methods: { 
            showName() { 
                alert(this.name); 
            } 
        }, 
    } 
</script>

<style>
    /* 组件的样式 */
    #Demo{
        background: orange;
    }
</style>

src/components/Student.vue

<template>
    <div>
        <h2>学生姓名:{{name}}</h2>
        <h2>学生年龄:{{age}}</h2>
    </div>
</template>

<script>
    export default {
        name:'Student',
        data() {
            return {
                name:'cess',
                age:20
            }
        },
    }
</script>

src/App.vue

<template> 
    <div>
        <img src="./assets/logo.png" alt="logo">
        <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,
            Student 
        } 
    }
</script>  

src/main.js

/**
 * 该文件是整个项目的入口文件
 * */
// 引入Vue
import Vue from 'vue';
// 引入App组件,它是所有组件的父组件
import App from './App.vue';
// 关闭vue的生产提示
Vue.config.productionTip = false;

// 创建Vue实例对象---vm
new Vue({
  // 将App组件放入容器中
  render: h => h(App),
}).$mount('#app')J

public/index.html

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <!-- 针对IE游览器的一个特殊配置,含义是让IE游览器以最高的渲染级别渲染页面 -->
    <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>

在这里插入图片描述

3.1.4. render 函数

关于不同版本的Vue:

  • vue.js与vue.runtime.xxx.js的区别:

    • vue.js是完整版的vue,包含: 核心功能+模板解析器。
    • vue.runtime.xxx.js是运行版的vue,只包含: 核心功能;没有模板解析器
  • 因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用render函数接收到的createElement函数去指定具体内容。

/**
 * 该文件是整个项目的入口文件
 * */
// 引入Vue
import Vue from 'vue';
// 引入App组件,它是所有组件的父组件
import App from './App.vue';
// 关闭vue的生产提示
Vue.config.productionTip = false;

/*
    关于不同版本的Vue:
      1.vue.js与vue.runtime.xxx.js的区别:
        (1).vue.js是完整版的vue,包含: 核心功能+模板解析器。
        (2).vue.runtime.xxx.js是运行版的vue,只包含: 核心功能;没有模板解析器
      
      2.因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用
        render函数接收到的createElement函数去指定具体内容。
    
 */

// 创建Vue实例对象---vm
new Vue({
  // 将App组件放入容器中
  render: h => h(App),
  
  // render(createElement) {
  //   return createElement('h1', '你好啊');
  // }
  
  // template: `<h1>你好啊</h1>`,
  // component: {App}
}).$mount('#app')

3.1.5. vue.config.js 配置文件

vue inspect > output.js可以查看到Vue脚手架的默认配置

使用vue.config.js可以对脚手架进行个性化定制,和package.json同级目录,详见 配置参考 | Vue CLI

const { defineConfig } = require('@vue/cli-service')

module.exports = {
  pages: {
    index: {
      // page 的入口
      entry: './src/index/main.js'
    }
  },
  // 关闭语法检查
  lintOnSave: false
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/525104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python BP算法模板

BP算法模板 神经网络结构 三大基本结构 权重(轴突、树突) 权重的矩阵表示 数值(胞体) 数值处理方式 sigmoid 函数 def __sigmoid(self,x):return 1 / (1 np.exp(-x))sigmoid 的导函数 def __sigmoid_prime(self,x):return x * (1 - x)sigmoid 函数图像 其目的是将数值限制…

Java多线程synchronized Lock volatile,看完这一篇就够了

线程安全问题 一、对线程安全的理解&#xff08;实际上是内存安全&#xff09;二、线程同步的实现方法synchronized实现同步Lock实现同步volatile实现同步JUC的Callable实现同步 三、守护线程四、ThreadLocal原理和使用场景五、Thread类的常用方法&#xff0c;以及线程的状态六…

Linux下使用Mysql 第二天

目录 Mysql数据库API库 编写hello应用链接函数库 MySQL API常用函数 总体印象 初始化 Makefile 管理 连接数据库关闭连接 读取数据 查询表数据 获取结果集 解析结果集 释放结果集 获取列数 获取表头 实例程序 MySQL tools实现 思路分析 程序实现 中文问题 …

MS iCraft Z790ITX WIFI 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板MS iCraft Z790ITX WIFI 处理器Intel Core i5-13400已驱动 内存Asgard DDR5 6400CL32 16GBx2 RGB已驱动 硬盘西数 WDS250G3X0C-00SJG0 ( SN750) …

如何设计API返回码(错误码)?

一、前言 客户端请求 API&#xff0c;通常需要通过返回码来判断 API 返回的结果是否符合预期&#xff0c;以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏&#xff0c;有的 API 用返回码是 int 类型&#xff0c;有的是 string 类型&#xff0c;有的用 0 表…

ansible 常用用例

目录 一、说明 二、创建 ansible 环境 三、实验操作 四、install_ansible.sh 脚本内容 一、说明 该文档是日常经常使用的模板&#xff0c;通过该例子让更多的初学者了解ansible 剧本的写法&#xff0c;很多情况&#xff0c;可以按照该模版来套用即可。 读者不需要下载…

6.深入理解Mysql事务隔离级别与锁机制

MySQL性能调优 1. 概述2. 事务及其ACID属性2.1并发事务带来的问题2.2 事务隔离级别 3. 锁详解3.1 锁分类3.1.1 表锁3.1.2 行锁3.1.3 间隙锁(Gap Lock)3.1.4 临键锁(Next-key Locks)3.1.5 行锁分析3.1.6 查看INFORMATION_SCHEMA系统库锁相关数据表3.1.7 死锁3.1.8 锁优化建议 4.…

iOS - postgetAFNetworking

GET和POST HTTP定义了与服务器交互的不同方法&#xff0c;最基本的方法有4种&#xff0c;分别是GET&#xff0c;POST&#xff0c;PUT&#xff0c;DELETE。URL全称是资源描述符&#xff0c;我们可以这样认为&#xff1a;一个URL地址&#xff0c;它用于描述一个网络上的资源&…

OpenGL高级-实例化

知识点 假如你有一个有许多模型的场景&#xff0c;而这些模型的顶点数据都一样&#xff0c;只是进行了不同的世界空间的变换。想象一下&#xff0c;有一个场景中充满了草叶&#xff1a;每根草都是几个三角形组成的。你可能需要绘制很多的草叶&#xff0c;最终一次渲染循环中就肯…

每日一练 | 华为认证真题练习Day45

1、应用数据经过数据链路层处理后一定携带了MAC地址。 A. 对 B. 错 2、某网络工程师在输入命令行时提示如下信息&#xff1a; Error:Unrecognized command found at’^’position. 对于该提示信息说法正确的是&#xff1f; A. 输入命令不完整 B. 没有查找到关键字 C. 输…

LeetCode 1054 距离相等的条形码

LeetCode 1054 距离相等的条形码 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/distant-barcodes 博主Github&#xff1a;https://github.com/GDUT-Rp/LeetCode 题目&#xff1a; 在一个仓库里&#xff0c;有一排条…

二叉树总结

文章目录 树需要掌握的基本概念二叉树基本特点满二叉树性质 完全二叉树性质 二叉搜索树&#xff08;二叉排序树&#xff09;Binary Search Tree(BST)性质 平衡二叉树性质 红黑树五大性质 B树 二叉树的存储方式链式存储顺序存储 二叉树的遍历 树需要掌握的基本概念 1、节点、根…

Python+Requests+Pytest+YAML+Allure实现接口自动化

本项目实现接口自动化的技术选型&#xff1a;PythonRequestsPytestYAMLAllure &#xff0c;主要是针对之前开发的一个接口项目来进行学习&#xff0c;通过 PythonRequests 来发送和处理HTTP协议的请求接口&#xff0c;使用 Pytest 作为测试执行器&#xff0c;使用 YAML 来管理测…

如何成为Apache项目贡献者

要成为Apache Foundation的贡献者&#xff0c;您需要遵循以下步骤&#xff1a; 加入Apache社区&#xff1a;您需要加入Apache社区并成为一个活跃的成员。您可以通过订阅邮件列表、参加会议、参加社区活动等方式来加入社区。选择一个项目&#xff1a;您需要选择一个您感兴趣的A…

libevent高并发网络编程 - 03_bufferevent filter过滤器

文章目录 1. bufferevent_filter过滤器简介2. evbuffer2.1 evbuffer常用API2.2 evbuffer和bufferevent的区别 3. bufferevent filter过滤器常用API3.1 bufferevent_filter_new() 4 bufferevent filter 过滤器例子 1. bufferevent_filter过滤器简介 bufferevent filter是libeve…

探索LeetCode【0010】正则表达式匹配(未懂)

目录 0.1 题目0.2 补充示例1. 参考B站视频2. 官方答案的评论-可用3. chatGPT的思路和解法-可用 0.1 题目 题目链接&#xff1a;【0010】正则表达式匹配 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹…

UG NX二次开发(C++)-建模-删除对象

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1、前言2、在UG NX中创建一些测试对象3、查询这些对象的继承关系3、基于C创建的方法3.1 头文件3.2 声明删除对象的方法3.3 定义删除对象的方法3.4 填写调用代码 4、…

Vue电商项目--开发Search模块

Search模块的静态组件 search模块开发&#xff1f; 1.先静态页面静态组件拆分出来 2.发请求&#xff08;API&#xff09; 3.vuex&#xff08;三连环&#xff09; 4.组件获取仓库数据&#xff0c;动态展示数据 拆分静态组件&#xff0c;之前搞过。现在就不搞了&#xff0c;…

STL之迭代器

文章目录 什么是迭代器&#xff1f;迭代器的作用&#xff1a;为什么要使用迭代器&#xff1f;vector容器中迭代器应该怎么使用迭代器失效插入元素后失效删除元素后失效 什么是迭代器&#xff1f; 迭代器是一种检查容器内元素并且遍历容器内匀速的数据类型 迭代器的作用&#…

微服务之服务容错

Informal Essay By English Share a sentence that I think is very reasonable, as long as you can know the underlying logic of anything, you can hold it without fear 参考书籍&#xff1a; “凤凰架构” 引言 在 Martin Fowler 与 James Lewis合写的文章《Micros…