首页 > 其他分享 >vue项目

vue项目

时间:2023-02-20 21:56:47浏览次数:32  
标签:vue 项目 js --- 导入 组件

vue-cli创建项目

前端做成项目---》使用工具(vue-cli),创建出vue项目,单页面应用,组件化开发
把xx.vue,ts,saa,less---》编译---》在浏览器中执行

vue-cli创建项目开发,在项目中开发,最后上线,一定要编译---》纯粹的html,js,css

浏览器只能失败js,html,css

vue-cli工具,使用nodejs写的,要运行,需要node环境
# 下载node解释器
	-一路下一步 
    -环境变量:可执行文件路径  就在环境变量
    -两个可执行文件:
    	-node:    python
        -npm:     pip
       
nodejs 怎么来的
	-js只能运行在浏览器中,因为浏览器中有它的解释器环境
    -基于谷歌浏览器的v8引擎,使它可以运行在操作系统之上   网络包,文件,数据库。。。 用c写的
    	-js语法 完成后端的编写,全栈
    -号称性能高,大量使用协程
    
    
文件防篡改校验
	-把文件生成md5值
    -以后被下载下来,再生成md5值肯定是一样,如果不一样说明被篡改了,不能用了
    
    -1 百度网盘 
    	-秒传   
        	-传到服务器上---》生成md5---》存着
            -本地生成md5---》发送到服务端---》一查----》有---》不传了
            
        - 屏蔽
        

    -2 王小云 破解md5,不是把md5变为原来的数据,而是使用其他的数据也能编译出来一样的md5,这样就可以添加其他很多非法的东西

解释型语言和编译型语言

	-js,node,php,python    解释型语言   运行解释器之上   pyinstaller
    -c,go,c++               编译型语言   直接把源代码编译成不同平台的可执行文件
    	-cpython解释器用c写的----》编译成不同平台的可执行文件---》在不同平台双击运行即可
        	-win
            -mac
            -linux
    -java:一处编码处处运行
    	-java 虚拟机 ---》虚拟机跨平台
        -java字节码文件运行在虚拟机之上
        -java写了代码----》编译成字节(区别与可执行文件  jar,war,.class)

创建vue项目

创建vue项目使用什么?
	-2.x 使用vue-cli:https://cli.vuejs.org/zh/
   -3.x 使用vue-cli
    -vite只能创建vue3 效率非常高
 
 # 安装vue-cli
	npm install -g @vue/cli  
    # 使用cnpm替换npm    cnpm淘宝出的工具,下载的时候,去淘宝镜像下载,速度快
    # -g 表示装全局
    #--registry=https://registry.npm.taobao.org 指定淘宝镜像
    npm install -g cnpm --registry=https://registry.npm.taobao.org
        
    # 以后使用cnpm 代替npm
    
    cnpm install -g @vue/cli 
    
    # cmd控制台就可以输入 vue 命令(装了djagno可以使用django-admin创建django项目)
    	-vue 创建vue项目
    
# 使用vue-cli创建项目(找个目录)
	vue create myfirstvue   # 速度很慢,等,可以ctrl+c停止 执行npm cache clean --force
    # 很慢的原因
    	-从github拉一个空项目
        -按照该项目所有的依赖,npm装
    # 按下图操作
    
    
    vue ui # 使用图形化界面创建项目 ,自己点击即可

image

image

image

image

vue项目目录介绍

# pychrm 打开项目,运行项目的两种方式
	-在命令行中执行(注意路径)
    	-npm run serve
    -使用 pycharm ,点击绿色箭头执行

image

vue项目目录介绍
myfirstvue				# 项目名
	node_modules		# 非常多第三方模块,以后把项目复制给别人时【上传git要忽略掉】,这个文件夹删掉,很多小文件,项目的依赖,项目要运行,没有它不行,如果没有只需要执行cnpm install,根据package.json的依赖包,按装好依赖
    public			 # 文件夹
    	-favicon.ico		# 网站小图标
       	-index.html			# spa单页面应用,以后要整个vue项目都是用这一个html,但是不用动他
     src			# 文件夹-以后都是动这里面的内容
    	-assets		# 静态资源,以后前端用的图片,js,css都放在这里
        logo.png		# 图片
       -components		# 以后在这里放组件,xx.vue,小组件
    		HelloWorld.vue		# 提供的展示组件
       -router			# 安装了Router,就会有这个文件夹,下面有个index.js
    	 -store               # 安装了Vuex,就会有这个文件夹,下面有个index.js
            -index.js
      -views               # 页面组件
            -AboutView.vue
            -HomeView.vue
       -App.vue            # 根组件,new Vue实例管理了 div,以后原来写在div中的东西,现在都写在App.vue
       -main.js            # 项目的启动入口

        .gitignore             # git的忽略文件,后面学了git就会了
        babel.config.js        # bable配置文件,不用动
        jsconfig.json          # 配置文件,不用动
        package.json           #不用动,安装了第三方模块,它自动增加
        package-lock.json      # 锁定文件,忽略掉
        README.md              #  用户手册
        vue.config.js          # vue的配置文件

es6导入导出语法

APP.vue,main.js,About.vue写了什么

### 看xx.vue组件学到的重点#####
以后,开发vue项目,都按照这个模式来
1.新建xx.vue
2.在xx.vue中就三块内容
	1.以后组件的html内容,都写在这里
 	<template>
	</template>
   2.以后该组件使用的样式,都写在这里
	<style>
    </style>
   3.以后js的东西,都写在这
	<script>
	</script>
   
### main.js学到的
找到index.html中的id为app的div,以后都在App.vue中写
new Vue({
  render: h => h(App)
}).$mount('#app')

导入导出语法

python创建包,在其他py文件中导入
		from xxx import xx
    
js从es6开始,也支持包的导入和导出
	### 默认导入语法(用的最多),只能到处一个,一般到处一个对象
    -导出语法:
        export default  一般是个对象
	-导入语法:
		 import 别名 from '路径'
       这样别名就是导出的对象
    
    
    ### 命名导出导入
    -导出语法:可以导出多个
        export const name='彭于晏'
        export const add = (a,b)=>{
            console.log(name)
            return a+b 
        }
    	export conse age = 19
     
    -导入语法
    	import {name,add} from './lqz/s1'
        console.log(name)
        console.log(add(33,44))
     
 
导入的简写形式
	-包下的 index.js 导入的时候,不用写到index.js的路径  --->它等同于ptyhon的__init__.py
    
    -例如:
        包是
        lqz
        	-index.js
       导入的时候
    		import lqz from './lqz'

vue项目编写步骤

以后只需要写xx.vue
	-页面组件
    -小组件		给页面组件用的
 
组件中导出
	export defaule {
        name:'HelloWorld',
        data(){
            return {
              xx:'彭于晏'
            }
        },
    }

在别的组件中要用,导入,注册
导入
import HelloWorld from '../components/HelloWorld.vue'
# 注册
    export default {
      components: {
        HelloWorld 
      }
    }
    
注册以后,在这个组件中就可以使用导入的组件 ,写在<template>
	# 自定义属性
	<HelloWorld msg="传进来的p"/>

小练习-登录功能

App.vue 动了

<template>
  <div id="app">

    <router-view/>
  </div>
</template>

main.js

# 没有动
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

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

访问根路径

访问根 显示 HomeView.vue 这个页面组件
	-HomeView使用了Helloworld.vue
    -自定义属性
访问/about 会显示AboutView.vue组件

使用axios

安装
	cnpm install axios -S    # 带着-S会自动把当前依赖加入到package.json中
   或者用
	npm install axios -S
导入(按照的第三方模块,直接导入)
	import axios from 'axios'
 
使用
	import axios from 'axios'

export default {
  name: 'AboutView',
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleClick() {
      console.log(this.username, this.password)
      // 发送ajax请求
      axios.post('http://127.0.0.1:8000/login',
          {username: this.username, password: this.password}).then(res => {
        alert(res.data.msg)
      })
    }
  }
}

解决跨域问题

1.装模块
	pip3 install django-cors-headers -i https://pypi.tuna.tsinghua.edu.cn/simple/
2.注册app
	'corsheaders'
3.修改中间件
	'corsheaders.middleware.CorsMiddleware',
4.修改配置文件
	CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_METHODS = (
	'DELETE',
	'GET',
	'OPTIONS',
	'PATCH',
	'POST',
	'PUT',
	'VIEW',
)

CORS_ALLOW_HEADERS = (
	'XMLHttpRequest',
	'X_FILENAME',
	'accept-encoding',
	'authorization',
	'content-type',
	'dnt',
	'origin',
	'user-agent',
	'x-csrftoken',
	'x-requested-with',
	'Pragma',
	'token'
)

scoped

# 父组件的样式,在子组件中会生效,加入scoped让该样式只在当前组件中生效
<style scoped>
h1 {
  background-color: chartreuse;
}
</style>

标签:vue,项目,js,---,导入,组件
From: https://www.cnblogs.com/zhanghong1229/p/17139081.html

相关文章

  • Vue3之v-show不能放置于自定义组件
    控制台警告Runtimedirectiveusedoncomponentwithnon-elementrootnode.Thedirectiveswillnotfunctionasintended.原因意思是自定义指令不能放到组件上,而......
  • vue day06
    上节回顾#1组件使用 -局部-全局#2组件间通信 -一旦组件化开发----》组件间通信-父传子:自定义属性-子传父:自定义事件-ref属性: ......
  • vue项目
    目录1vue-cli创建项目2vue项目目录介绍3es6导入导出语法4小练习-登录功能5scoped1vue-cli创建项目#前端做成项目----》使用工具(vue-cli),创建出vue项目,单......
  • Vue - 7 Vue-cli项目
    Vue-7Vue-cli项目目录1.Vue-cli创建项目(1)下载和安装1.用cnpm替换npm2.cnpm安装vue-cil(2)使用vue-cil创建项目1.新建目录2.使用终端vue-cil创建项目3.使用vue提供的vu......
  • springBoot项目遇到的BUG:Process finished with exit code -1
     问题原因:在service层调用dao层的时候没有给接口注入值 解决方法:加上@Autowired ......
  • vue_day06 vue-cli基本使用了解
    目录今日内容详细一、vue-cli创建项目二、vue项目目录介绍三、es6导入导出语法1.App.vue,main.js,About.vue写了什么2.导入导出语法3.vue项目编写步骤四、小练习-登录功能1.A......
  • Vue-cli
    Vue-clivue-cli创建项目1.下载node解释器在node官网中下载node解释器,安装时一直下一步就行2.验证node下载完是自动添加环境变量的,可以在cmd中输入node来验证......
  • vue-cli项目01
    今日内容vue-cli创建项目#下载node解释器 -路径:http://nodejs.cn/#使用cnpm来代替npm --g表示装全局-指令:npminstall-gcnpm--registr......
  • Vue学习随笔(一)Vue的引入
    前言以往零零散散使用过一些Vue的语法,最近才刚刚系统接触Vue,现在是刚刚入门的状态,故在这里做一个记录和梳理,欢迎大家一起学习交流,有错误的地方也欢迎大家指正。正篇梦开......
  • Vue 3 兄弟组件间传值 | mitt.js
    Vue3中兄弟间传值可以使用Vuex,但小项目使用过于庞大,我们可以使用mitt进行兄弟组件间传值。操作步骤第一步:安装mittnpmimitt第二步:创建文件(例如:eventBus.js)impo......