Vue自学之路 笔记--1.Vue脚手架(自学,如有错误,还请各位大佬指导)

191 阅读3分钟

Vue脚手架@vue/cli

为什么使用脚手架开发而不用引入vue.js文件的形式

使用脚手架开发更贴近实际开发中的情况,0配置webpack

webpack自己配置环境很麻烦, 下载@vue/cli包,用vue命令创建脚手架项目

  • @vue/cli是Vue官方提供的一个全局模块包(得到vue命令), 此包用于创建脚手架项目

脚手架是为了保证各施工过程顺利进行而搭设的工作平台

1.安装@vue/cli

把@vue/cli模块包按到全局, 电脑拥有vue命令, 才能创建脚手架工程

  • 全局安装命令 cmd

    yarn global add @vue/cli
    # OR
    npm install -g @vue/cli
    

    注意:如果半天没动静 90%是网速问题,可以ctrl+c重新来

  • 查看Vue脚手架版本 vue -V

    如果出现脚手架版本号即安装成功,没有则失败

2.@vue/cli 创建项目启动服务

1.创建项目
    # vue和create是命令,vuecli-demo是文件夹名字
    vue create vuecli-demo
2.选择模板

可以上下箭头选择,弄错了ctrl+c重新来

1.先选择版本,vue2或者vue3 默认vue3

2.选择用什么方式下载脚手架项目需要的依赖包(第一次需要,之后不在需要)

3.回车等待

3. 进入脚手架项目下,启动内置的热更新本地服务器
    cd vuecli-demo  
    # 跳转到项目文件夹
    
    npm run serve
    or
    yarn serve
    # 启动本地服务器

最后看到绿色的提示 你就成功了(底层node+webpack热更新服务)

打开浏览器输入蓝色的local提示网址 localhost:8080

总结: vue命令创建工程目录, 项目内置webpack本地热更新服务器, 帮我们打包项目预览项目

3. @vue/cli目录和代码分析

 vuecil-demo        # 项目目录
    ├── node_modules # 项目依赖的第三方包
    ├── public       # 静态文件目录
      ├── favicon.ico# 浏览器小图标
      └── index.html # 单页面的html文件(网页浏览的是它)
    ├── src          # 业务文件夹
      ├── assets     # 静态资源
        └── logo.png # vue的logo图片
      ├── components # 组件目录
        └── HelloWorld.vue # 欢迎页面vue代码文件 
      ├── App.vue    # 整个应用的根组件
      └── main.js    # 入口js文件
    ├── .gitignore   # git提交忽略配置
    ├── babel.config.js  # babel配置
    ├── package.json  # 依赖包列表
    ├── README.md    # 项目说明
    ├── vue.config.js #自定义配置
    └── yarn.lock    # 项目包版本锁定和缓存地址

4.@vue/cli 自定义配置

在项目找到vue.config.js,如果没有,可以在项目目录下新建一个文件

/* 覆盖webpack的配置 */
module.exports = {
  devServer: { // 自定义服务配置
    open: true, // 自动打开浏览器
    port: 8080 // 使用的端口号 
  }
}

5.eslint 了解

他是一个代码检查工具,变量声明不使用等情况都会报错,建议在学习的时候关闭他

在vue.config.js中关闭

 /* 覆盖webpack的配置 */
module.exports = {
  devServer: { // 自定义服务配置
    open: true, // 自动打开浏览器
    port: 8080 // 使用的端口号 
  },
  lintOnSave: false // 关闭eslint检查
}
 

6.@vue/cli 单文件vue详解

好处:vue各页面互不影响,独立作用域

template里只能有一个根标签

vue文件-独立模块-作用域互不影响

style配合scoped属性, 保证样式只针对当前template内标签生效

vue文件配合webpack, 把他们打包起来插入到index.html

<!-- template必须, 只能有一个根标签, 影响渲染到页面的标签结构 -->
<template>
  <div>欢迎使用vue</div>
</template><!-- js相关 -->
<script>
export default {
  name: 'App'
}
</script><!-- 当前组件的样式, 设置scoped, 可以保证样式只对当前页面有效 -->
<style scoped>
</style>

\