Chiriri's blog Chiriri's blog
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)

Iekr

苦逼后端开发
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)
  • HTML

  • JavaScript

  • Vue2

    • vue 补充
    • 安装Vue CLI
      • 创建并启动Vue CLI 项目
      • 调整初始目录结构
      • JavaScript 代码规范
        • 流行的编码规范
        • JavaScript Standard Style 规范说明
    • 在Vue CLI中导入 Elment
    • Elment
    • Axios
    • Token
    • 配置Vue路由
    • github 推送
    • 安装 elment-tiptap
    • 安装 cropperjs 图片裁切工具
    • 让两个组件之间通讯
    • 安装echart
    • 文件对象
    • 打包发布
    • webpack
    • vue 版本
    • 优化打包
    • vue 图形界面
    • 路由懒加载
    • element 按需引用
    • 缓存和并行处理
    • JavaScript 异步编程
    • Node安装
    • Vuex
  • Vue3

  • Uni-APP

  • TypeScript

  • 前端
  • Vue2
Iekr
2021-06-23
目录

安装Vue CLI

# 安装 Vue CLI

npm install -g @vue/cli
1

查看版本

vue --version
1

# 创建并启动 Vue CLI 项目

进入到要放在项目的文件夹

#vue create 项目名
vue create toutiao-publish-admin
1
2
Vue CLI v4.2.3
? Please pick a preset:
  default (babel, eslint)
> Manually select features
1
2
3
4

default:默认勾选 babel、eslint,回车之后直接进入装包 manually:自定义勾选特性配置,选择完毕之后,才会进入装包 选择第 2 种:手动选择特性,支持更多自定义选项

? Please pick a preset: Manually select features
? Check the features needed for your project:
 (*) Babel
 ( ) TypeScript
 ( ) Progressive Web App (PWA) Support
 (*) Router
 ( ) Vuex
 (*) CSS Pre-processors
>(*) Linter / Formatter
 ( ) Unit Testing
 ( ) E2E Testing
1
2
3
4
5
6
7
8
9
10
11

分别选择:

Babel:es6 转 es5

Router:路由

CSS Pre-processors:CSS 预处理器,后面会提示你选择 less、sass、stylus 等

Linter / Formatter:代码格式校验,ESLint 代码格式校验

? Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) n
1

是否使用 history 路由模式,这里输入 n 不使用

? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default):
  Sass/SCSS (with dart-sass)
  Sass/SCSS (with node-sass)
> Less
  Stylus
1
2
3
4
5

选择 CSS 预处理器,这里选择我们熟悉的 Less

? Pick a linter / formatter config:
  ESLint with error prevention only
  ESLint + Airbnb config
> ESLint + Standard config
  ESLint + Prettier
1
2
3
4
5

选择校验工具,这里选择 ESLint + Standard config (opens new window)

? Pick additional lint features:
 (*) Lint on save
>(*) Lint and fix on commit
1
2
3

选择在什么时机下触发代码格式校验:

  • Lint on save:每当保存文件的时候
  • Lint and fix on commit:每当执行 git commit 提交的时候

这里建议两个都选上,更严谨。

? Where do you prefer placing config for Babel, ESLint, etc.? (Use arrow keys)
> In dedicated config files
  In package.json
1
2
3

Babel、ESLint 等工具会有一些额外的配置文件,这里的意思是问你将这些工具相关的配置文件写到哪里: ●In dedicated config files:分别保存到单独的配置文件 ●In package.json:保存到 package.json 文件中 这里建议选择第 1 个,保存到单独的配置文件,这样方便我们做自定义配置。

? Save this as a preset for future projects? (y/N) N
1

这里里是问你是否需要将刚才选择的一系列配置保存起来,然后它可以帮你记住上面的一系列选择,以便下次直接重用。

这里根据自己需要输入 y 或者 n,我这里输入 n 不需要。

✨  Creating project in C:\Users\LPZ\Desktop\topline-m-fe89\topline-m-89.
�  Initializing git repository...
⚙  Installing CLI plugins. This might take a while...

[          ........] - extract:object-keys: sill extract [email protected]
1
2
3
4
5

向导配置结束,开始装包。 安装包的时间可能较长,请耐心等待......

⚓  Running completion hooks...

�  Generating README.md...

�  Successfully created project topline-m-89.
�  Get started with the following commands:

 $ cd topline-m
 $ npm run serve
1
2
3
4
5
6
7
8
9

安装结束,命令提示你项目创建成功,按照命令行的提示在终端中分别输入:

# 进入你的项目目录
cd toutiao-webapp

# 启动开发服务
npm run serve
1
2
3
4
5
 DONE  Compiled successfully in 7527ms


  App running at:
  - Local:   http://localhost:8080/
  - Network: http://192.168.10.216:8080/

  Note that the development build is not optimized.
  To create a production build, run npm run build.
1
2
3
4
5
6
7
8
9

启动成功,命令行中输出项目的 http 访问地址。

打开浏览器,输入其中任何一个地址进行访问。

http://192.168.10.216:8080/

# 调整初始目录结构

这里主要就是下面的两个工作:

  • 删除初始化的默认文件
  • 新增调整我们需要的目录结构

1、将 App.vue 修改为:

<template>
  <div id="app">
    <h1>黑马头条内容发布系统</h1>
    <!-- 路由出口 -->
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

<style lang="less"></style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

2、将 router/index.js 修改为:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

// 路由配置表
const routes = []

const router = new VueRouter({
  routes
})

export default router
1
2
3
4
5
6
7
8
9
10
11
12
13

3、删除默认生成的不相关文件:

  • src/views/About.vue

  • src/views/Home.vue

  • src/components/HelloWorld.vue

  • src/assets/logo.png

4、增加以下几个目录

  • src/api 目录

    • 存储接口模块
  • src/utils 目录

    • 存储一些工具模块
  • src/styles 目录

    • index.less 文件,设置全局样式
    • 在 main.js 中加载全局样式 import './styles/index.less'

调整之后的目录结构如下。

.                                 
├── README.md                     
├── babel.config.js               
├── package-lock.json             
├── package.json                  
├── public                        
│   ├── favicon.ico               
│   └── index.html                
└── src                           
    ├── api
    ├── App.vue                   
    ├── assets                    
    ├── components                
    ├── main.js                   
    ├── router
    ├── utils
    ├── styles               
    └── views
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# JavaScript 代码规范

# 流行的编码规范

  • Airbnb JavaScript Style

    • 非常严谨,规则特别多
  • JavaScript Standard Style

    • 相比 Airbnb JavaScript Style 要宽松一些。

我们项目中使用的是 JavaScript Standard Style (opens new window) 代码风格。下面是它的一些具体规则要求

# JavaScript Standard Style 规范说明

建议把:https://standardjs.com/rules-zhcn.html 看一遍,然后在写的时候遇到错误就查询解决。

  • 使用两个空格 – 进行缩进

  • 字符串使用单引号 – 需要转义的地方除外

  • 不再有冗余的变量 – 这是导致 大量 bug 的源头!

  • 无分号 – 这 (opens new window)没什么不好。 (opens new window)不骗你! (opens new window)

  • 行首不要以 ( , [ , or ``` 开头

    • 这是省略分号时唯一会造成问题的地方 – 工具里已加了自动检测!
    • 详情 (opens new window)
  • 关键字后加空格 if (condition) { ... }

  • 函数名后加空格 function name (arg) { ... }

  • 坚持使用全等 === 摒弃 == 一但在需要检查 null || undefined 时可以使用 obj == null 。

  • 一定要处理 Node.js 中错误回调传递进来的 err 参数。

  • 使用浏览器全局变量时加上 window 前缀

    • document 和 navigator 除外
    • 避免无意中使用到了这些命名看上去很普通的全局变量, open , length , event 还有 name 。
  • 查看更多 – 为何不试试 standard 规范呢!

说了那么多,看看这个遵循了 Standard 规范的示例文件 (opens new window) 中的代码吧。或者,这里还有一大波使用了此规范的项目 (opens new window) 代码可供参考。

ESLint 规则表 (opens new window)

编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48
vue 补充
在Vue CLI中导入 Elment

← vue 补充 在Vue CLI中导入 Elment→

最近更新
01
k8s
06-06
02
进程与线程
03-04
03
计算机操作系统概述
02-26
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Iekr | Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式