一、项目初始构建

现在如果要构建一个 Vue 的项目,最方便的方式,莫过于使用官方的 vue-cli

首先,咱们先来全局安装 vue-cli ,打开命令行工具,输入以下命令:

  1. $ npm install -g vue-cli
  • 1

然后,利用 vue-cli 构建一个 Vue 项目:

  1. $ vue init <template-name> <project-name>
  2. # 例如:
  3. $ vue init webpack my-project
  • 1
  • 2
  • 3
  • 4

这行代码其实就是从 GithubVue 官方项目模板库—— vuejs-templates 组织拉取代码,并设置该项目的名称。该命令是帮助大家通过选择应用比较广泛的几种官方项目模板库中的一种和可配置的几个步骤快速构建我们的应用。然而,这些模板并不限制你自己对于使用 Vue.js 的架构组织和选择类库。

注意:这里的第三个参数代表的是几种官方项目模板库中的一种,今天只粗略的介绍其中的四种:

  • browserify——全功能的 Browserify + vueify ,包括热加载,静态检测,单元测试等;
  • browserify-simple——一个简易的 Browserify + vueify ,以便于快速开始;
  • webpack——全功能的 Webpack + vueify ,包括热加载,静态检测,单元测试等;
  • webpack-simple——一个简易的 Webpack + vueify ,以便于快速开始。

不同的模板有不同的用处: 简易的可以更快速的开发,全功能适合有野心的(大型、扩展性很高的–个人认为)应用。他们的共同点就是,都支持 .vue 文件类型的组件方式。意味着任何只要符合 .vue 形式的第三方的组件都可以被使用,只需要发布在 npm 上。

基于官方项目模板构建自己特殊的应用?

作为自由开发者,你如果不喜欢上面的模板,你可以 fork 这些模板,修改它们以符合你自己特殊要求(甚至还可以创建一个你自己的模板),通过 vue-cli 命令使用。

  1. $ vue init username/repo my-project
  • 1

安装依赖

进入刚创建的工程文件夹,安装依赖:

  1. # 安装依赖
  2. $ cd <project-name>
  3. $ npm install
  • 1
  • 2
  • 3

到这里,一个 Vue 工程就初步构建完成了。

二、项目文件夹及文件简介

先简单介绍几个第一层的文件夹:

  • build 中是官方项目模板的基本配置文件,在例子中是 webpack :开发环境配置文件,生产环节配置文件等;
  • node_modules 是各种依赖模块;
  • src 中是 vue 组件及入口文件;
  • static 中放置静态资源文件;
  • index.html 是页面入口文件。

App.vue 文件

先来看看 src 下的 App.vue 文件中的这个代码段:

  1. <template>
  2. <div id="#app">
  3. <img src="./assets/logo.png">
  4. <router-view></router-view>
  5. </div>
  6. </template>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这个代码段中的 <router-view> 组件是 vue-router 中渲染路径匹配到的视图组件。牵扯到路径,也就是路由,又由于是 Vue 单页面工程,所以自然少不了 vue-router 。那咱们自然要用以下命令来先安装 vue-router

  1. $ npm install --save vue-router
  • 1

main.js 文件

安装好 vue-router 后,那到哪里配置具体的路由呢?答案是 src 文件夹下面的 main.js 文件中,可以这么配置路由:

  1. import Vue from 'vue';
  2. import App from './App';
  3. import VueRouter from 'vue-router';
  4. Vue.use(VueRouter);
  5. // 定义路由组件
  6. const Worldcloud = require('./components/cloud.vue');
  7. const Building = require('./components/building.vue');
  8. // 定义路由,配置路由映射
  9. const routes = [
  10. { path: '/', redirect: '/wordcloud' },
  11. { path: '/wordcloud', component: Worldcloud },
  12. { path: '/building', component: Building }
  13. ];
  14. // 创建router实例
  15. const router = new VueRouter({
  16. routes
  17. });
  18. new Vue({
  19. el: '#app',
  20. template: '<App/>',
  21. components: { App },
  22. router
  23. })
  • 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

从路由映射的配置中可以看出,访问网站的根路由会直接跳转到 /wordcloud 组件页面下。

三、组件与其他插件

ok,到这步就可以开始写页面组件了,到 src 文件夹下的 components 文件夹下面,去定义自己的组件吧~

其他插件

如果想使用数据可视化库—— echarts ,可以输入以下命令来安装:

  1. $ npm install --save echarts
  • 1

如果想实现状态管理的功能,比如:登录功能。就需要安装 vuex ,可以输入以下命令来安装:

  1. $ npm install --save vuex
  • 1

如果想使用 ES6 中新的 API ,而不仅仅是利用 Babel 转译新的 JavaScript 句法,那就需要安装 babel-polyfill 为当前环境提供一个垫片,否则会报错。有哪些属于 ES6 中新的 API 呢?比如:Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法。可以输入以下命令来安装 babel-polyfill

  1. $ npm install --save babel-polyfill
  • 1

四、项目预览与发布

在命令行中输入

  1. $ npm run dev
  • 1

就可以预览你也写的页面了。事实上,我们一般都是先输入以上命令开启实时预览,然后再开始开发的,即它可以监听我们开发中的改动。

项目可以在本地预览了,但是要怎么发布到网上呢?首先,在命令行中输入

  1. $ npm run build
  • 1

会生成一个 dist 文件夹.该文件夹中就是我们可以用来发布的代码,直接将代码上传到你的服务器上就可以了。

五、参考文章

这篇文章的撰写主要是参考了这两篇文章:

--------------------- 作者:沐风的心 来源:CSDN 原文:https://blog.csdn.net/jimmyluo17/article/details/77151355?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

利用 vue-cli 构建一个 Vue 项目的更多相关文章

  1. vue cli 构建的 webpack 项目设置多页面

    1. webpack-dev-server下的设置(npm run dev) ./build/webpack.dev.conf.js 中,修改 new HtmlWebpackPlugin ,一个页面一 ...

  2. 快速构建一个vue项目

    首先介绍一下命令行构建一个vue项目步骤: 1.下载安装node.js(直接运行安装包根据步骤安装完),打开命令行输入:node -v ,出现版本号即安装成功. 2.命令行界面输入:cnpm inst ...

  3. Vue Create 创建一个新项目 命令行创建和视图创建

    Vue Create 创建一个新项目 命令行创建和视图创建 开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0 ...

  4. Vue.js:安装node js到构建一个vue并启动它

    ylbtech-Vue.js:从安装node js到构建一个vue并启动它 1.返回顶部 1. 1.安装node js 下载地址:http://nodejs.cn/download/2.安装完成后运行 ...

  5. Vue Cli 3:创建项目

    一 简介 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,有几个独立的部分. 1 CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令.(vue ...

  6. [转]Vue CLI 3搭建vue+vuex 最全分析

    原文地址:https://my.oschina.net/wangnian/blog/2051369 一.介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@ ...

  7. Vue CLI 3搭建vue+vuex 最全分析

    一.介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令(如:vue create .vue ...

  8. Vue Cli 3:vue.config.js配置文件

    Vue Cli 3生成的项目结构,没有build.config目录,而是使用vue.config.js来进行配置. vue.config.js 是一个可选的配置文件,如果项目的 (和 package. ...

  9. Eclipse的maven构建一个web项目,以构建SpringMVC项目为例

    http://www.cnblogs.com/javaTest/archive/2012/04/28/2589574.html springmvc demo实例教程源代码下载:http://zuida ...

随机推荐

  1. python一行代码就能搞定的事情!

    打印9*9乘法表: >>> print( '\n'.join([' '.join(['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]) ...

  2. Intellij IDEA 安装lombok及使用详解

    项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set.toString.equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但 ...

  3. Firefox driver 那些事~

    1. selenium 3.x开始,webdriver/firefox/webdriver.py的init中,executable_path="geckodriver":而2.x是 ...

  4. markdown箭头的处理

    转自:https://blog.csdn.net/m0_37167788/article/details/78603307 MarkDown - Latex符号(箭头)的整理 标签: markdown ...

  5. 测试APPEND INSERT是否产生UNDO信息的过程

    D:\>sqlplus test/testSQL*Plus: Release 11.1.0.6.0 - Production on 星期三 06月 29 19:46:41 2016Copyrig ...

  6. .Net core验证码生成

    首先,项目添加对ZKWeb.System.Drawing的引用: 生成验证码代码如下: public class VierificationCodeServices { /// <summary ...

  7. bzoj 2500 幸福的道路 树上直径+set

    首先明确:树上任意一点的最长路径一定是直径的某一端点. 所以先找出直径,求出最长路径,然后再求波动值<=m的最长区间 #include<cstdio> #include<cst ...

  8. mysql事务隔离级别和MVCC

    一.三种问题: 脏读(Drity Read):事务A更新记录但未提交,事务B查询出A未提交记录. 不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次 ...

  9. POI读取excel文件。

    1) poi读取现成.xls文件,不需要自己建立.xls ====ReadExcel​类​==== package cust.com.excelToDataTest; import java.io.F ...

  10. ApplicationHost.config(IIS存储配置区文件)

    对于一个刚刚创建网站,以ASP.NET MVC5为例. 我们并没有在网页的配置文件(web.config)中配置一些处理程序或模块,如处理Session的SessionStateModule模块,映射 ...