首页 > 其他分享 >vue-cli创建 vue创建项目 vue项目目录介绍 es导入导出

vue-cli创建 vue创建项目 vue项目目录介绍 es导入导出

时间:2023-02-21 00:01:03浏览次数:41  
标签:vue cli 创建 js --- 导入 组件

目录

回顾

1. 组件使用
	局部
  全局
  
2.组件间通信
	一旦组件话开发--->>> 组件间通信
  父传子:自定义属性
  子传父:自定义事件
  ref属性:
  	普通标签 this.$resfs.名字	dom对象,进行dom操作
  	组件上:this.$refs.名字	组件对象,使用组件数据,调用函数
    
3.计算属性
	1.使用函数,页面刷新,函数会重新运算
  2.想把函数当属性用
  	computed:{
      price(){
        
      }
    }
  3.通过计算属性,重写过滤案例
  	newDataList做成计算属性,v-for直接循环它
    newDataList使用的变量只要生变化,他就会重运算,使用了mytext,只要input输入内容,他就会重新运算,不需要加事件了
    
4.监听属性
	1 data中定义的属性,可以使用watch绑定一个方法,以后只要这个属性发生变化,就会触发方法的执行
  
5.插槽
	slot:匿名插槽、具名插槽
  
6.动态组件
	component	--->>> is='字符串'
  
7.keep-alive
	做缓存,保证组件不被销毁
  
8.学过的配置项
	el(temlate)
  data:组建中、方法
  methods
  8个生命周期钩子
  components
  watch
  computed

vue-cli创建项目

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

# 浏览器执行识别 js html css

# vue-cli 工具,使用nodejs写的,要运行,需要node环境

# 下载node解释器
	一步下一步
  环境变量:可执行文件路径,就在环境变量
  两个可执行文件:
  node 相当于python
  npm 相当于pip
  
# nodejs 怎么来的
	js只能运行在浏览器中,因为浏览器中有它的解释器环境
  基于谷歌浏览器的v8引擎,使它可以运行在操作系统之上 网络包,文件,数据库。。。 都是用C写的
  	js语法 完成后端的编写,全栈
    号称性能高,大量使用协程
    
  

创建vue项目使用什么

2.x 使用vue-cli: https://cli.vuejs.org/zh/
3.x 使用vue-cli
vite只能创建vue3 效率非常高
# 安装vue-cli
nmp 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

image-20230220155306125

如上完成后,在cmd控制台就可以输入vue命令(装了djagno可以使用Django-admin创建Django项目)

vue 创建项目

使用vue-cli创建项目(找个目录), vue create myfirstvue

速度很慢,等。可以ctrl+c停止 执行npm cache clean --force

很慢的原因:从GitHub拉一个空项目,按照项目所有的依赖,由npm装

按下图操作

1.找个目录

image-20230220100303596

2.自定义选择

image-20230220100346464

3.按空格选中

image-20230220100655459

4.选择vue2

image-20230220100731100

5.选择In package.json

image-20230220100849830

6.再输入y同意,取名字保存就行了

再从路径位置用pycharm打开

image-20230220161636474

7.运行项目的两种方式

  1. 在命令行中执行(注意路径)

    npm run serve

    image-20230220162341603

  2. 使用pycharm,点击绿色箭头执行

    image-20230220162633364

vue项目目录介绍

# vue 项目目录介绍
myfirstvue      # 项目名
node_modules  # 非常多第三方模块,以后把项目复制给别人时【上传git要忽略掉】,这个文件夹删掉,很多小文件,项目的依赖,项目要运行,没有它不行  如果没有只需要进入到对应文件位置cmd执行 cnpm install,会根据package.json的依赖包,按装好依赖。node_modules 在pycharm上显不显示跟版本有关系,实际文件中是有node_modules文件但是不显示
    
public              # 文件夹
    	-favicon.ico    # 网站小图标
      -index.html     # spa 单页面应用,以后整个vue项目都是用这一个html,但你不用动他
        
src                # 文件夹--以后咱们都动这里面的
        -assets       # 静态资源,以后前端用的图片,js,css。。都放在这里
    				logo.png       #  图片
        -components         # 以后在这里放组件, xx.vue, 小组件
						HelloWorld.vue  # 提供的展示组件
        -router               # 安装了Router,就会有这个文件夹,下面有个index.js
             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的配置文件

es导入导出语法

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>

mian.js学到的

找到index.html 中的id为app的div,以后都在App.vue中写
new Vue ({
  render:h => h(App)
}).$mount('#app')

# 导入导出语法

导入导出语法

# python 创建包,在其他py文件中导入

# js 从es开始,也支持报的导入和导出
	### 默认导出语法(用的最多),只能导出一个,一般导出一个对象
  导出语法
  	export default 一般是个对象
    
  导入语法
  	import 别名 from '路径'
    以后 别名 就是 导出的对象
    
   ### 命名导出导入
  导出语法 可以导出多个
      	export const name = '彭于晏'
        export const add = (a, b) => {
            console.log(name)
            return a + b
        }
        export const age = 19
  
  导入语法
  	    	import {name, add} from './lqz/s1'
        console.log(name)
        console.log(add(33, 44))
        
   ### 导入的简写形式
  包下的 index.js 导入的时候,不用写到index.js的路径 ---> 他等同于python的__init__.py
  列如:
  	# 包是 
    wyf 	包是wyf 
    	index.js 	包下的js文件index.js
      导入的时候		导入的时候可以简写,因为index.js在js中有特殊含义,可以简写
      	import wyf from './lqz'
    

vue项目编写步骤

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

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

小练习-登录功能

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

1 安装 
	cnpm install axios -S    # 带着-S会自动把当前依赖加入到package.json中
2 导入(按照的第三方模块,直接导入)
	import axios from 'axios'
    
3 使用
	handleClick() {
      console.log(this.username, this.password)
      axios.post('http://127.0.0.1:8000/login/', {username: this.username, password: this.password}).then(res => {
        // console.log(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'
)

补充

# 文件防篡改校验
	把文件生成md5值
  以后别下载下来,再生成md5值肯定是一样的,如果不一样说明被篡改了,不能用了
  1.百度网盘
  	秒传
   传到服务器上 ---> 生成md5 ---> 存着
   本地生成md5 ---> 发送发到服务端 ---> 一查 ---> 有 ---> 不传了
    
# 解释型语言和编译型语言
	-js,node,php,python    解释型语言   运行解释器之上   pyinstaller
    -c,go,c++               编译型语言   直接把源代码编译成不同平台的可执行文件
    	-cpython解释器用c写的----》编译成不同平台的可执行文件---》在不同平台双击运行即可
        	-win
            -mac
            -linux
    -java:一处编码处处运行
    	-java 虚拟机 ---》虚拟机跨平台
        -java字节码文件运行在虚拟机之上
        -java写了代码----》编译成字节(区别与可执行文件  jar,war,.class)

标签:vue,cli,创建,js,---,导入,组件
From: https://www.cnblogs.com/xiao-fu-zi/p/17139469.html

相关文章

  • vue-cli创建项目 vue项目目录介绍 es6导入导出语法 scoped
    上节回顾#1组件使用-局部-全局#2组件间通信一旦组件化开发--->组件间通信-父传子:自定义属性-子穿父:自定义事件-ref属......
  • vuecli创建项目,vue项目介绍,二是导入导出语法,小练习登录功能,scoped
    内容回顾组件的使用局部组件components全局组件Vue.component(‘名称’,{})组件间通信一旦组件化开发—》组件间通信父传子:自定义属性:子组件用props属性接收子传......
  • vue基础6种通信方式
    1props父组件Father子组件Son//父组件给子组件传递参数<Sonname="何世蟒"sex="男":age="22"/>//子组件接收参数//方式一props:['name','sex','age']/......
  • Vue-路由(vue-roter)
    1.路由的使用1.路由的安装vue-routernpmivue-router@3vue3中使用router4版本,vue2中使用router3版本2.应用路由插件①在src目录下创建router文件夹作为路......
  • vue-vue项目创建、es6导入导出语法、scoped使用
    1.vue-cil下载和创建1.1下载安装vue-cli: 我们使用npm(并行)下载是是从国外的网站下载,所以速度会比较慢,建议使用cnpm(串行),cnpm要从淘宝镜像下载。 步骤: 1.安装cnp......
  • vue2,nginx,redis,tomcat,Java的关系
    Java作为一种广泛应用的编程语言,在后端开发中扮演着重要的角色。Java后端开发不仅需要掌握Java语言的基本语法和相关技术,还需要熟悉一些其他的技术和工具,如Vue2、Nginx、Re......
  • Vue 非单文件组件(不常用)3步骤(创建、注册、使用)
    Vue中使用组件的三大步骤:1、定义组件(创建)2、注册组件3、使用组件(写组件标签)一、如何定义一个组件?使用Vue.extend(options)创建,其中options和newVue(options)时传入......
  • Vue-cli
    1.什么是 vue-clivue-cli(俗称:vue 脚手架)是vue官方提供的、快速生成vue工程化项目的工具。特点:①开箱即用,②基于 webpack,③功能丰富且易于扩展,④支持创建v......
  • vue项目
    vue-cli创建项目前端做成项目---》使用工具(vue-cli),创建出vue项目,单页面应用,组件化开发把xx.vue,ts,saa,less---》编译---》在浏览器中执行vue-cli创建项目开发,在......
  • Vue3之v-show不能放置于自定义组件
    控制台警告Runtimedirectiveusedoncomponentwithnon-elementrootnode.Thedirectiveswillnotfunctionasintended.原因意思是自定义指令不能放到组件上,而......