Vue-cli搭建一个Vue项目

1、下载安装Node.js

下载地址:https://nodejs.org/en/download/ ,选择合适自己的版本下载即可。

安装Node.js会默认安装npm(包管理工具)

2、安装vue-cli脚手架

使用npm(需要安装node环境)全局安装webpack

1
2
3
npm install -g webpack
npm install -g webpack-cli
webpack -v

全局安装vue-cli,在cmd中输入命令:

1
npm install --global vue-cli

3、创建项目

1
vue init webpack test

项目配置选择

  • Project name (test):
    项目名称,直接回车,按照括号中默认名字,注意这里的名字不能有大写字母,如果有会报错Sorry, name can no longer contain capital letters),阮一峰老师博客为什么文件名要小写 ,可以参考一下。

  • Project description (A Vue.js project):

    项目描述,也可直接点击回车,使用默认名字

  • Author ():

    作者,输入姓名(默认会使用系统账号名,git邮箱)

  • Vue build standalone:
    Runtime + Compiler: recommended for most users 运行加编译,既然已经说了推荐,就选它了
    Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere 仅运行时,已经有推荐了就选择第一个了

  • Install vue-router? (Y/n)

    是否安装vue-router,这是官方的路由,大多数情况下都使用,这里就输入“y”后回车即可。

  • Use ESLint to lint your code? (Y/n)

    是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,一般项目中都会使用。

  • Pick an ESLint preset (Use arrow keys)

  • Pick an ESLint preset

    Standard (https://github.com/standard/standard)
    Airbnb (https://github.com/airbnb/javascript)
    none (configure it yourself)

  • Set up unit tests (Y/n)

  • Pick a test runner (Use arrow keys)

    选择一个ESLint预设,编写vue项目时的代码风格,直接y回车

    Jest
    Karma and Mocha
    none (configure it yourself)

  • Setup e2e tests with Nightwatch? (Y/n)

    是否安装e2e测试 ,我选择安装y回车

  • Should we run npm install for you after the project has been created? (recommended) (Use arrow keys)

    Yes, use NPM
    Yes, use Yarn
    No, I will handle that myself

4、目录结构及其对应作用

通过vue-cli搭建一个vue项目,会自动生成一系列文件,而这些文件具体是怎样的结构、文件对应起什么作用,可以看看下面的解释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
├── build/                      # webpack 编译任务配置文件: 开发环境与生产环境
│ └── ...
├── config/
│ ├── index.js # 项目核心配置
│ └── ...
├── node_module/ # 项目中安装的依赖模块
├── src/
│ ├── api # 所有请求
│ ├── assets # 主题字体等静态资源
│ ├── components # 全局公用组件
│ ├── directive # 全局指令
│ ├── filtres # 全局 filter
│ ├── icons # 项目所有 svg icons
│ ├── lang # 国际化 language
│ ├── mock # 项目mock 模拟数据
│ ├── router # 路由
│ ├── store # 全局 store管理
│ ├── styles # 全局样式
│ ├── utils # 全局公用方法
│ ├── vendor # 公用vendor
│ ├── views # view
│ ├── App.vue # 入口页面
│ ├── main.js # 入口 加载组件 初始化等
│ └── permission.js # 权限管理
├── static/ # 纯静态资源 (直接拷贝到dist/static/里面)
├── test/
│ └── unit/ # 单元测试
│ │ ├── specs/ # 测试规范
│ │ ├── index.js # 测试入口文件
│ │ └── karma.conf.js # 测试运行配置文件
│ └── e2e/ # 端到端测试
│ │ ├── specs/ # 测试规范
│ │ ├── custom-assertions/ # 端到端测试自定义断言
│ │ ├── runner.js # 运行测试的脚本
│ │ └── nightwatch.conf.js # 运行测试的配置文件
├── .babelrc # babel 配置文件
├── .editorconfig # 编辑配置文件
├── .eslintrc.js # ES语法配置检查
├── .gitignore # 用来过滤一些版本控制的文件,比如node_modules文件夹
├── index.html # index.html 入口模板文件
└── package.json # 项目文件,记载着一些命令和依赖还有简要的项目描述信息
└── README.md # 介绍自己这个项目的,可参照github上star多的项目。

5、启动项目

1
npm run dev

6、vue-cli的webpack配置分析

  • package.json可以看到开发和生产环境的入口。

    1
    2
    3
    4
    5
    6
    7
    8
    "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "e2e": "node test/e2e/runner.js",
    "test": "npm run unit && npm run e2e",
    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
    "build": "node build/build.js"
    },
  • 可以看到dev中的设置,build/webpack.dev.conf.js,该文件是开发环境中webpack的配置入口。
  • 在webpack.dev.conf.js中出现webpack.base.conf.js,这个文件是开发环境和生产环境,甚至测试环境,这些环境的公共webpack配置。可以说,这个文件相当重要。
  • 还有config/index.js 、build/utils.js 、build/build.js等,具体请看这篇介绍:

7、打包上线

自己的项目文件都需要放到 src 文件夹下。在项目开发完成之后,可以输入 npm run build 来进行打包工作。

1
npm run build

项目上线时,只需要将 dist 文件夹放到服务器就行了(直接打开index.html是不行的)。

vue-cli中文文档

https://cli.vuejs.org/zh/