Vue_cli

脚手架

vue-cli文档

vue-cli vue的开发环境

vue(它的核心是依赖于webpack实现的)

vue的模块化和组件化的开发环境

vue-cli + vue-dev-tool + vue-router + vuex

安装

全局安装,就会在全局有一个vue的命令

npm install -g @vue/cli

创建项目

vue create [项目名字]
vue create katsuki-project

选择默认default选项(babel,eslint)
babel:将编程语言转化为ES5格式,代码格式化。
eslint:代码规范和错误检查工具,一认定有错就疯狂报错,一般都是入门到放弃,可关闭。

初次创建,若有安装全局的npm和yarn命令,会让你选择,然后在路径C:/User/Administrator生成一份.vuerc的文件保存信息,若想切换使用的管理包,删除再创建项目即可重新配置。

使用 vue servevue build 命令对单个 *.vue 文件进行快速原型开发,不过这需要先额外安装一个全局的扩展:

这个命令在vue create [项目名字] 执行完毕后运行
npm install -g @vue/cli-service-global

运行项目

npm run serve

将目录中的package.json文件中serve改成start就能用下面命令运行项目
npm start

运行成功结果图
vue-cli
创建完成的项目目录
vue-cli项目结构

components 放.vue组件
assets     放静态资源文件,一般只放图片

main.js

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

这里用render不用template方式
用template就有上篇博文描述的npm方式导入vue问题
template方法交给package.json中vue-template-compiler后端实现
不需要前端处理,故默认import的vue文件是少了template方法的文件

new Vue({
  // 把App组件挂载到#app的这个节点上
  render: h => h(App),
}).$mount('#app')
//上下两种写法等价,上面是main.js中的代码
new Vue({
  el : '#app'
  render: h => h(App),
})

使用案例

根据上面目录操作
components添加文件Xkatsuki.vue

<!-- 单文件组件 .vue -->
<!-- html -->
<template>
    <header v-text="title"></header>
</template>
<!-- js -->
<script>
export default {
  data() {
    return {
      title: "katsuki"
    };
  }
};
</script>
<!-- css scoped表示这里写的css只能在该组件生效-->
<style scoped>
header {
  height: 50px;
  line-height: 50px;
  width: 100%;
  text-align: center;
  color: pink;
  background-color: gray;
}
</style>

App.vue修改

<template>
  <div id="app">
    <Xkatsuki />
  </div>
</template>

<script>
import Xheader from './components/Xkatsuki.vue'

export default {
  name: 'app',
  components: {
    // 注册组件
    // 引用组件,再注册,然后在template使用
    Xkatsuki
  }
}
</script>

<style>
/*style没带scoped,影响全局样式,也可以将app.css内容写到这里*/
/*这里采用导入mian.js方式*/
</style>

src文件夹下添加styles文件夹,并添加app.css

app.css
* {
    margin: 0;
    padding: 0;
}
main.js修改
import Vue from 'vue';
import App from './App.vue';
import './styles/app.css';

// 样式,第三方库引入
// 微信样式 npm install weui --save
import 'weui';

// 引入ajax库 npm install axios --save
import axios from 'axios';
// 引入jQuery库 npm install jquery --save
import $ from 'jquery'

// 把库挂载到原型链,这样就可以全局使用
Vue.prototype.$axios = axios;
Vue.prototype.$ = $;

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')

运行项目即可看到效果,页面就这样通过组件搭建完成。

axios配置

import axios的文件中(这里是main.js文件)添加语句

main.js
// 引入qs模块 npm install qs --save
import qs from "qs";

//axios全局配置
//axios中为所有请求带上Token头,用于token登录验证
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;

//修改axios原本post请求的Content-Type,解决post请求问题
//详情参考Vue基础的axios的github链接
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

//axios.create
var katsuki = axios.create({
  baseURL: 'http://localhost:6666'
});

//默认全局url
axios.defaults.baseURL = 'https://localhost:7777';

//挂载原型链
Vue.prototype.$katsuki = katsuki;
Vue.prototype.$qs = qs;
------------------------------------
请求调用文件
使用axios发送请求时
this.$axios({
	method: "post",
	//使用this.$axios,实际url为http://localhost:7777/katsuki
    url: "/katsuki",
    //data使用到qs模块
    data: this.$qs.stringify({ 
      ...
    })
}).then((res)=>{
	...
})

this.$katsuki({
	method: "post",
	//使用this.$katsuki,实际url为http://localhost:6666/katsuki
    url: "/katsuki",
    //data使用到qs模块
    data: this.$qs.stringify({ 
      ...
    })
}).then((res)=>{
	...
})

build及上线

vue-cli中的package.json的内容

"scripts": {
	npm run serve 相当于自己搭建的webpack环境执行webpack-dev-serve运行服务器
    "serve": "vue-cli-service serve", 
    npm run build 相当于执行webpack命令进行打包
    "build": "vue-cli-service build"
}

npm run build 执行后会生成dist文件夹,会将原先的文件全部压缩成css和js

打开dist文件夹,打开里面的index.html文件即可运行项目,生成如图
build打包
index.html中引入文件的路径是绝对路径,dist文件夹放到服务器的项目运行环境apacheexpress-clipublic文件夹中等类似操作可正常运行,但要本地打开,就要改成相对路径,/前加个点.

绝对路径
<link href=/css/app.c52c2a74.css rel=preload as=style>
相对路径
<link href=./css/app.c52c2a74.css rel=preload as=style>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值