学静思语
Published on 2025-02-15 / 41 Visits
0
0

Vue Cill 【脚手架】

Vue CLI 【脚手架】

一、下载和安装

  • 搭建Vue脚手架工程,需要使用到NPM(node package manaher),npm是随nodejs安装的一款包管理工具,类似Maven。所以我么需要先安装Node

  • 为了更好兼容,安装node.js10.16.3

  • Vue Cli网址:https://cli.vuejs.org/zh/guide/installation.html

  • 下载node.js10.16.3 地址:https://nodejs.org/

    • 找其他版本

      image-20240316174836130

      image-20240316174935345

  • 安装目录自己定义

  • 验证是否安装成功使用【node -v】指令

  • 先删除以前的cli版本<不论之前有没有下载>

    • 指令:npm uninstall vue-cli -g
  • 安装淘宝镜像 cnpm

    • 指令: npm config set registry https://registry.npmmirror.com

    • 如果遇到下载了不能使用,报错说执行策略,请使用PowerShell以管理员身份运行,然后输入

      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned指令

    • npm和cnpm区别

      • 两者之间只是node中包管理器的不同,都可以使用
      • npm是node官方的包管理器。cnpm是个中国版本的npm,是淘宝定制的cnpm(gzip压缩支持)命令行工具代替默认的npm
      • 如果因为网络原因无法下载使用npm下载,那cnpm就可以派上用场
      • npm和cnpm只是下载的地址不同,npm在国外下载东西,cnpm在国内下载东西
  • 安装webpack和webpack-cli,指令: npm install webpack webpack-cli --save-dev,webpack是一打包工具

  • 安装vue/cli,指令:npm install -g @vue/cli

  • 输入vue -V 指令确认是否安装成功

  • 创建一个目录,在导航地址输入cmd

  • 输入创建项目的指令:vue init webpack 项目名称

    • 如果显示这个

      image-20240317154254850

    • 再输入npm install -g @vue/cli-init 下载init

image-20240317152245182

  • 然后切换到创建的项目中,然后输入指令: npm run dev

    • 成功后会看到这个页面

      image-20240317154546520

  • 这个端口默认是8080,如果出现冲突则会默认修改端口【一般不会出现】

  • 输入ctrl+c 结束运行

二、在ideal中运行

1.在ideal中运行

  • 可以将文件直接拖拽进ideal

  • 也可以使用ideal打开目录

    • 步骤如下

      image-20240318092411464

      image-20240318092447557

      image-20240318092543623

      image-20240318092618902

  • 然后再配置npm

    vue_project_run_arrange

2.项目结构解析

vue_project_analysis

三、ElementUI

1.基本介绍

2.安装和使用

  • 安装指令:npm i element-ui@版本号

  • 完整引入

    image-20240318205307382

  • 需要这三条指令

    // 引入Element组件
    import ElementUI from 'element-ui'
    // 引入CSS
    import 'element-ui/lib/theme-chalk/index.css';
    // 使用Element组件
    Vue.use(ElementUI);
    
  • 使用

    <script>
    export default {
      data() {
        return {
          tableData: [{
            date: '2016-05-02',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          }, {
            date: '2016-05-04',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1517 弄'
          }, {
            date: '2016-05-01',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1519 弄'
          }, {
            date: '2016-05-03',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1516 弄'
          }]
        }
      }
    }
    </script>
    
    <template>
      <div>
        <el-table
          :data="tableData"
          stripe
          style="width: 100%;color: red;">
          <el-table-column
            prop="date"
            label="日期"
            width="180">
          </el-table-column>
          <el-table-column
            prop="name"
            label="姓名"
            width="180">
          </el-table-column>
          <el-table-column
            prop="address"
            label="地址">
          </el-table-column>
        </el-table>
      </div>
    </template>
    
    <style scoped>
      div{
        width: 900px;
        margin: 0 auto;
      }
    </style>
    <script>
      export default {
        data() {
          return {
            data: [{
              label: '电脑/办公',
              children: [{
                label: '笔记本',
                children: [{
                  label: '联想笔记本'
                }]
              }]
            }, {
              label: '一级 2',
              children: [{
                label: '二级 2-1',
                children: [{
                  label: '三级 2-1-1'
                }]
              }, {
                label: '二级 2-2',
                children: [{
                  label: '三级 2-2-1'
                }]
              }]
            }, {
              label: '一级 3',
              children: [{
                label: '二级 3-1',
                children: [{
                  label: '三级 3-1-1'
                }]
              }, {
                label: '二级 3-2',
                children: [{
                  label: '三级 3-2-1'
                }]
              }]
            }],
            defaultProps: {
              children: 'children',
              label: 'label'
            }
          };
        },
        methods: {
          handleNodeClick(data) {
            console.log(data);
          }
        }
      };
      </script>
      <template>
        <div>
          <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
        </div>
      </template>
      <style scoped>
        </style>
    

Comment