• Vue-CLI 项目搭建


    Vue-CLI 项目搭建

    img

    CLI

    CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令。它可以通过 vue create 快速搭建一个新项目,或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目。

    没有安装好cli脚手架的可以继续安装:

    👉Vue CLI 官网文档

    👉Node.js安装详细教程

    安装好脚手架后,我在安装的过程中发现使用npm自带的源太慢了,可以切换源

    在nodejs的环境上装vue-cli:vue脚手架
    	-npm install -g cnpm --registry=https://registry.npm.taobao.org
      -以后使用cnpm替换掉npm即可:下载速度快
    	-cnpm install -g @vue/cli  # 速度慢,淘宝写了工具 cnpm,完全替换npm的功能,使用cnpm回去淘宝镜像站下载,速度快
    

    我装的最新版本nodejs,如果想装旧版本参考下文档:

    👉旧版本:https://nodejs.org/zh-cn/download/releases/

    Node第一个程序:Hello world

    image-20220417185340310

    CLI创建项目

    方式一:命令行创建-vue create#

    运行以下命令来创建一个新项目:

    vue create item
    

    选择Manually,手动选择功能,然后回车

    image-20220417190228344

    使用空格选择,Babel、Router、Vuex

    Babel:es版本转换,比如es6语法在浏览器不支持,那么它会帮我们转换到支持的版本

    Router:路由跳转

    Vuex:状态管理器(存数据)

    image-20220417190714349

    Vue版本选择

    image-20220417190747524

    Router选择

    image-20220417191014734

    选择package管理

    image-20220417191054413

    保存配置选择作为历史选择

    image-20220417191218959

    配置名

    image-20220417191313779

    成功:不成功建议使用管理员创建就行了

    image-20220417195058857


    方式二:使用图形化界面-vue ui#

    可以通过 vue ui 命令以图形化界面创建和管理项目:

    vue ui
    

    上述命令会打开一个浏览器窗口,并以图形化界面将你引导至项目创建的流程

    图形化界面预览

    如何删除CLI预设#

    image-20220417205822528

    这里的预设不需要如何删除?按照如下路径找到.vuerc打开删除即可

    C:\Users\3547
    

    打开.vuerc

    image-20220417210038281

    image-20220417210224323

    再次创建项目就没有预设了

    image-20220417210252501

    Vue项目目录及运行

    运行#

    • 运行项目方式一:在项目路径下输入npm run serve

    image-20220417210628295

    image-20220417210709051

    • 运行项目方式二:pycharm运行

    image-20220417211051592

    image-20220417211111561

    package.json中#

    "scripts": {
        "serve": "vue-cli-service serve",  # 运行项目
        "build": "vue-cli-service build",  # 编译项目成html,css,js
        "lint": "vue-cli-service lint"     # 代码格式化
    },
    

    目录#

    image-20220417204504511

    # 目录介绍
    	-myfirstvue   # 项目名字
      	-node_modules  # 放着当前项目所有的依赖,可以删除,删除项目运行不了了,npm install 把该项目的依赖再装上,把项目发给别人,提交到git上,文件夹要删掉
        -public   # 文件夹
        	-favicon.icon  # 小图标
          -index.html   # 单页面开发,整个项目就这一个页面,以后不要动
        -src     # 以后咱们都是在这里面写东西
        	-assets  # 放静态资源,图片,js,css
          -components  # 组件,xx.vue组件,小组件,给页面组件用
          	-HelloWorld  # 提供的默认组件,示例
          -router     # vue-router就会有这个文件夹
          	-index.js   # vue-router的js代码
          -store      # vuex 就会有这个文件夹
          	-index.js   # vuex 的js代码
          -views     # 组件,页面组件
          	-About
            -Home   # 默认提供了示例组件
          -App.vue   # 根组件
          -main.js   # 项目的入口于
    	 -.gitignore   # git的忽略文件
       -babel.config.js  # babel配置
       -package.json  # 项目的所有依赖,类似于  requirements.txt,不要删,npm install根据这个文件下载第三方模块
      -vue.config.js  # vue的配置
    

    es6语法之导入导出

    类似python中的导入包、模块,JS模块化开发,在其他JS中导入使用

    导入语法

    import 自定义名字 from '路径'
    Eg:import Vue from 'vue'  //内置的
    //如果是自定义的写自己的路径
    

    导出语法

    导出单个对象:export default 方法名/变量名 
    eg:export default 变量名
        export default 方法名
    导出多个对象:export default {key:value,key1:value1···}   //key自定义名字,value对象js文件中的方法名或变量名
    eg:export default {name:name,printName:printName}
    //key值也可以省略
    export default {value,value1···}
    

    注意:必须先导出之后才能导入使用

    demo:

    //导出:
    let name = 'HammerZe'
    function printName() {
        console.log(name)
    }
    // 把对象导出
    export default {name:name,printName:printName}
    
    //导入
    //导出多个对象再导入使用的时候就可以通过对象.方法/变量使用
    import settings from '路径'
    settings.name
    settings.printName()
    

    导入导出包#

    导入出包和上面一样,导入包只导入到包这一层就可以了,比如:info包下的info.js文件导出,导入的路径只写到info就可以了

    //导出
    let name = 'HammerZe'
    let age = 18
    export default {name,age}
    
    //导入
    import info from  ./info
    info.name
    info.age
    

    定义并使用组件

    定义组件包括以下三部分:

    第一部分:
    -<template></template>  # 写原来模板字符串``,html内容
    第二部分:
    -<script></script>      # 写export default导出的对象
    eg:
    -<script>
        export default {
          data(){retrun {
            name:'mycomponent'
          }},
          methods:{},
        }
    </script>
    第三部分:
    -<style scoped>   # scoped 样式只在当前组件中生效
    </style>
    

    image-20220417222323253

    组件在项目中如何使用,如下:

    自定义组件mycomponent.vue

    <template>
    <div >
      <h2>{{name}}</h2>
      <button @click="handleClick">百度一下</button>
    </div>
    </template>
    
    <script>
    export default {
      name: "mycomponent",
      data(){
        return {
          name:'HammerZe'
        }
      },
      methods:{
        handleClick(){
          window.location.href="http://www.baidu.com"
        }
      }
    
    }
    </script>
    
    <style scoped>
    h2{
      background-color: tomato;
      align-content: center;
    }
    button{
      background-color: aqua;
    }
    </style>
    

    重写AboutView.vue显示自定义组件

    <template>
      <div>
    <!--用在div里-->
        <mycomponent></mycomponent>
      </div>
    </template>
    
    <script>
    // @ is an alias to /src
    import mycomponent from '@/components/mycomponent.vue'
    export default {
      name: 'AboutView',  //组件名一般和文件名一致
      components: {
        //注册自定义组件
        mycomponent
      }
    }
    </script>
    
    

    CLI自定义组件


    集成Bootstrap,jQuery,Elementui

    下载Bootstrap和jQuery#

    npm install bootstrap@3 -S
    npm install jquery -S
    

    image-20220417230329289

    image-20220417230344433

    配置Bootstrap和jQuery#

    Bootstrap配置

    # 在main.js中配置
      	// bootstrap的配置
        import 'bootstrap'
        import 'bootstrap/dist/css/bootstrap.min.css'
    

    jQuery配置

    # vue.config.js中配置
     const {defineConfig} = require('@vue/cli-service')
        const webpack = require("webpack");
        module.exports = defineConfig({
            transpileDependencies: true,
            configureWebpack: {
                plugins: [
                    new webpack.ProvidePlugin({
                        $: "jquery",
                        jQuery: "jquery",
                        "window.jQuery": "jquery",
                        "window.$": "jquery",
                        Popper: ["popper.js", "default"]
                    })
                ]
            },
        })
    

    下载elementui#

    npm install element-ui -S

    image-20220417231242810

    配置elementui#

    # 在main.js 配置
    
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    Vue.use(ElementUI);
    

    image-20220417231224204

    使用在组件中使用就可以了~


    使用axios与后端交互

    # 第一步,安装
        npm install axios -S
        
    # 第二步:main.js 配置
    # 导入
    import axios from 'axios'
    # 类的原型中放入变量
    Vue.prototype.$axios = axios;
    
    # 第三步:在任意组件中使用
    # this.$axios   就是axios对象
    this.$axios.get().then(res=>{})
    

    image-20220417232410113

    如果,没有在main.js中配置,使用如下

    import axios from 'axios'
    axios.get('').then(res=>{})
    
  • 相关阅读:
    【网络层】RIP协议详解(应用层)、慢收敛、OSPF协议(适合大网络)
    【短文】在Linux中用g++编译使用了thread头文件的源文件时要注意的问题
    SHA256WithRSA签名算法⽀付⽹关回调签名⽅案
    关于利用卡诺图快速解决时序电路自启动问题的研究
    PostMan 之 Mock 接口测试
    CSS 入门指南(二)CSS 常用样式及注册页面案例
    windows系统安装python教程,以及PyCharm安装,新手入门详细
    opencv项目9---利用YOLOv3实现对物体的实时检测
    我们怎么批量编辑图片?这2招值得你们收藏
    Spring MVC使用SessionLocaleResolver实现用户自定义切换语言实例
  • 原文地址:https://www.cnblogs.com/48xz/p/16158239.html