• Vue急速入门-5


    vue-cli创建项目

    前端工程化,项目>>>(vue-cli),创建处vue项目,单页面应用(spa)
    vue-cli创建项目开发,在项目中开发,最后上线,一定要编译
    			'纯粹的html,js,css'
    

    vue-cli工具由于是nodejs编写的,所以我们需要node安装环境
    1.下载node解释器

    官网下载对应平台的nodejs解释器,一路下一步
        -安装后会自动添加环境变量:可执行文件路径  就在环境变量
        -下载完成后我们打开cmd,就可以运行node,他的使用和安装模块的命令,类似python的两个命令(这两个命令来自两个可执行文件):
        	-node:    类似cmd中python命令
            -npm:     类似cmd中的pip命令
    

    nodejs官网:http://nodejs.cn/

    vue-cli项目创建

    vue版本不同可以使用不同的项目脚手架
    2.x 使用vue-cli :https://cli.vuejs.org/zh/
    3.x 使用vue-cli
    3.x版本的vue项目还可以使用vite创建,vite 效率非常高,但不支持2.x版本的vue项目
    

    1.安装cnpm工具

    • 我们的nodejs自带的npm工具,npm会从国外的站点下载,速度慢
    • cnpm是淘宝出的工具,下载的时候,去淘宝镜像下载,速度快,
    • 以后使用cnpm 代替npm
      npm install -g cnpm --registry=https://registry.npm.taobao.org

    2.安装脚手架(vue-cli)
    cnpm install -g @vue/cli

    -g表示全局(全局变量)
    安装完成后,cmd控制台就可以输入 vue 命令了(类似装了djagno可以使用django-admin创建django项目

    • 如果遇到速度特别慢的情况,可以使用 清空缓存处理(如果安装失败,需要执行清除缓存,再重新安装,创建项目时也是一样的流程)
      npm cache clean --force

    3.使用vue-cli创建项目

    • 在输入命令执行之前需要自行选择创建项目的路径
    • 速度可能会很慢,可以等,也可以ctrl+c停止(停止后如果需要重新创建,需要执行npm cache clean --force)
    • 很慢的原因:
      1.因为vue-cli需要很多依赖(下载的东西比较多)
      2.需要从github上拉空项目

    输入命令:
    vue create myfirstvue

    如果出现上图情况,y继续即可
    执行命令结束会进入到选择界面

    • 上下键进行选择,回车键确定
    • 这里我们选择最后一个选项,前面两个默认选项由于使用了eslint会对代码进行格式化,比如我们如果漏写了分号,会报错,但是运行的时候其实并不影响
    • 如果我们之前选择自定义并且进行了保存,这里也会展示出来的

    配置选择

    • 选择vue版本


    • 历史模式选择


    • 选择项目依赖安装位置


    • 是否保存当前配置


    • 输入保存后名称


    • 创建成功如下图所示


    博客参考:https://www.cnblogs.com/zhihuanzzh/p/17137995.html

    vue项目目录介绍

    # 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
                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           
        # 不用动,安装了第三方模块,它自动增加
        # 内部的信息中有name属性,这就是我们项目的名称,项目启动后可以在浏览器的上方看到
        # name属性的下方,还有一个scripts属性,内部有一个serve键值对,这个serve就是对应:npm run serve中的serve的,如果我们在这里进行了更改,启动项目的命令也需要更改
        # 下方的dependencies中配置了项目所需模块的版本信息,版本前面的‘^’号表示的是可以往更高版本兼容,但实际使用的时候通常不这么设置(高版本容易出兼容性问题)
        package-lock.json      # 锁定文件,忽略掉
        README.md              #  用户手册
        vue.config.js          # vue的配置文件
    

    es6导入导出语法

    App.vue,main.js是什么
    
    ### 看xx.vue 组件学到的重点#########
    #  记住,以后开发vue项目,都按照这个模式来
    1 新建xx.vue(创建新的组件页面组件)
    2 在xx.vue中就三块内容
    	#1 以后组件的html内容,都写在这里
    	
        
        #2 以后该组件使用的样式,都写在这
        
        
        # 3 以后js的东西,都写在这
        
        
    #### main.js 学到的
    # 找到index.html 中的id为app的div,以后都在App.vue中写(相当于我们之前在html中编写vue时的el属性)
    new Vue({
      render: h => h(App)
    }).$mount('#app')
    
    • python中创建包,可以在其他py文件中导入
    • js 从es6开始,也支持包的导入和导出
    • 我们编写下方的代码时需要创建一个文件夹,在文件夹内创建一个js文件,在他的内部编写vue代码,为了使这个代码生效我们需要在main.js中进行导入

    默认导出语法(使用的多)

    	-导出语法
        	export default 一般是个对象
        -导入语法
        	import 别名  from '路径'
            以后 别名   就是 导出的对象
    

    命名导入导出语法(了解)
    命名导出语法可以写多个,这样就可以导出多个变量
    导出的导入的时候需要用大括号包裹导入的变量,并用逗号隔开,需要什么变量就导入什么变量
    ps:导出的时候需要注意,const定义的导出的变量名不能跟前面代码中的变量名重复,会报错

    导入的简写形式

    • 包下的 index.js 导入的时候,不用具体到index.js的路径
    • 它等同于ptyhon的init.py
        -例如:
        	# 包是
        	xiaoming
              -index.js
            #导入的时候
            	import xiaoming from './xiaoming'
    
    vue项目编写步骤
    # 1 以后只需要写xx.vue
    	-页面组件(views文件夹内创建)
        -小组件   给页面组件用的(components文件夹内创建)
        
    # 2 组件中导出
    'HelloWorld.vue组件导出后,导入到HomeView.vue组件中(小组件导入到页面组件中)'
    '如果组件内部定义了变量需要用data来接收,但是要写成方法return值'
    	export default {
              name: 'HelloWorld',
              data() {
                return {
                  xx: '彭于晏'
                }
              },
              props: {
        	msg: String
      		  }
    	}
    '如果外面有自定义属性就需要用props来接收'
        "Welcome to Your Vue.js App"/>
        
        
    # 3 组件如果要在别的组件中使用,需要导入、注册
    	'这里也是以HelloWorld.vue组件导入到HomeView.vue组件中为例子'
    	# 导入
        import HelloWorld from '@/components/HelloWorld.vue'
        # 这里的@符号就是指代src文件夹
    	import HelloWorld from '../components/HelloWorld.vue'
        # 注册
        export default {
          components: {
            HelloWorld 
          }
        }
     # 4 注册以后,在这个组件中就可以使用导入的组件 ,写在