1、为什么要使用单文件工程?

1、Vue.js路由组件的不方便

不支持引用HTML页面,以至于template里面定义的标签会编辑器当字符串,这让编辑变的困难。

2、Vue.js于Node.js语言结合

2、搭建Vue项目环境

2.1. 安装Node.js

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

在Windows上安装 Node.js很方便,只需要访问node.js官网 http://www.nodejs.org/,点击Download链接,然后选择Windows Installer,下载安装包。下载完成后直接双击安装,和其它一般软件安装一样

2.2. 安装Webpack

Webpack是node.js的一个组件。

WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。

安装命令:

 npm install webpack -g  --registry=https://registry.npm.taobao.org

       -g表示全局安装

因为node.js的组件库位置在国外,因此国内安装的时候会非常慢,所以可以采用镜像的方式来安装(使用淘宝镜像库 --registry=https://registry.npm.taobao.org

2.3. 安装vue-cli

Vue-cli是个构建工具,他能大大的降低webpack的使用难度,支持热更新。

vue-cli 是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,分为vue init webpack-simple 项目名 和vue init webpack 项目名 两种。

安装命令:

npm install vue-cli -g  --registry=https://registry.npm.taobao.org

2.4. 创建工程

进入你想要建立的项目的文件夹中,输入以下命令。

命令:

vue init webpack my--project

2.5. 启动项目

命令:

 npm install

          -- npm install是用来安装package.json的组件,类似于C#里面的packages.config,只执行一次即可

         npm run dev

          -- 运行

3、工程目录介绍

3.1. Static目录

存放的是静态文件,比如字体和图片。

3.2. Build目录

存放最终发布的代码文件。

3.3. Config目录

存放配置文件。

3.4. Src/assets目录

存放素材文件。

3.5. Src/components目录

存放组件文件。

3.6. Src/router目录

存放路由文件。

3.7. Package.json目录

项目的安装的库和版本信息。Npm install 命令就是安装其中里面的库。

安装后的组件放到了目录node_modules中。

3.8. Index.html目录

有同学就问了,为什么这个页面中不引入咱们之前学习的vue.js文件呢?

大家要注意,咱们这个这个单文件工程都是由node.js管理,由node.js会加载vue.js,不需要开发人员特别引用vue.js。

那么咱们生成vue对象是在哪里创建的呢?

答案是在main.js中

这里的模板 template名字叫App,那我们就能找到这个App.vue

4、创建vue文件示例

4.1. 创建vue文件

注意:标签<template>下面有且只有一个标签,不能有多个,有多个会报错。

报错信息:

4.2. 配置路由

4.3. 查看效果

5、单元测试

5.1. Mocha(魔卡)测试框架

Mocha诞生自2011年,是现在最流行的JS测试框架之一,在浏览器和Node环境中都可以使用。

所谓的测试框架,就是运行测试的工具。通过她,可以为JS应用添加测试,从而保证代码的质量。

之前创建单页面应用的时候选用了Mocha测试框架,所以不必再安装。

测试文件位于/test/unit/specs中。

运行测试:

运行结果:

6、生产环境部署

意思:

运行”npm run dev”的时候执行的是build/dev-server.js文件,

运行”npm run build”的时候执行的是build/build.js文件。

生产环境部署:

Npm run build是将vue项目编译。

Npm start  启动vue项目

7、Vue.js Ajax(axios)

Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求。

Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。

Github开源地址: https://github.com/axios/axios

安装:

$ npm install axios

使用:

13、VUE单文件工程的更多相关文章

  1. webpack入坑之旅(五)加载vue单文件组件

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  2. VUE2 第六天学习--- vue单文件项目构建

    阅读目录 VUE2 第六天学习--- vue单文件项目构建 回到顶部 VUE2 第六天学习--- vue单文件项目构建 VUE单文件组件在Vue项目中,然后使用 new Vue({el: '#cont ...

  3. Vue单文件组件

    前面的话 本文将详细介绍Vue单文件组件 概述 在很多 Vue 项目中,使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页 ...

  4. vue 单文件 样式写了scoped 不能覆盖框架原有样式的解决办法

    vue 单文件 样式写了scoped 不能覆盖框架原有样式的解决办法 在vue 里面<style scoped></style> 是为了让样式只影响本身自己组件的样式,不改变全 ...

  5. vue 单文件组件

    在很多vue项目中,我们使用vue.component来定义全局组件,紧接着用new Vue({el:'#container'})在每个页面内指定一个容器元素 这种方式在很多中小规模的项目中运作的很好 ...

  6. vue单文件中引用路径的处理

    原文地址:vue单文件中引用路径的处理如有错误,欢迎指正! vue单文件的开发过程中,在单文件模版中可能会涉及到文件路径的处理,比如 <img>, style 中的 background ...

  7. webpack打包vue单文件组件

    一.vue单文件组件 ①文件扩展名为 .vue 的 就是single-file components(单文件组件) ②参考文档:单文件组件 二.webpack加载第三方包 ①项目中,如果需要用到一些第 ...

  8. ts-loader如何与vue单文件组件衔接

    .ts-loader是如何与vue单文件组件衔接作用的 https://github.com/microsoft/TypeScript-Vue-Starter https://www.npmjs.co ...

  9. 基于VSCode的vue单文件组件模板设置---一次设置,可爽终生

    第一步: 第二步: 第三步: 打开vue.json文件后,如果是初次设置,应该如下图所示,绿色注释部分不用管,注意那两个白色大括号 第四步:在大括号内全部粘贴如下代码,保存即可完成vue模板的设置 & ...

随机推荐

  1. 理解Java方法增强

    在实际开发中,我们往往需要对某些方法进行增强,常用的方法增强的方式有三种. 类继承 .方法覆盖 必须控制对象创建,才能使用该方式 装饰者模式方法加强 必须和目标对象实现相同接口或继续相同父类,特殊构造 ...

  2. Django restframework 序列化之 ModelSerializer 小记

    首先介绍一下相关概念 序列化器(Serializer) 1. 自定义型:  继承rest_framework.serializers.Serializer 2. 模型类型:  继承rest_frame ...

  3. 分分钟搞定Redis编译安装

    1.  依赖包安装 yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc- ...

  4. day 34 作业

    作业 mysql> create table tea( -> id int unsigned auto_increment primary key, -> name varchar( ...

  5. LSB MSB

    #LSB:(Least Significant,Bit) 最低有效位 :MSB(Most Significant Bit):最高有效位,若MSB=1,则表示数据为负值,若MSB=0则表示数据为正. 在 ...

  6. Jenkins + Pipeline + Git + Maven (十)

    一.准备环境介绍 192.168.5.71 # gitlab 仓库IP 192.168.5.72 # 开发环境,用于提交代码等 192.168.5.73 # tomcat 部署solo服务站点 192 ...

  7. 第15节_BLE协议GATT层

    学习资料:官方手册 Vol 3: Core System Package [Host volume] Part G: Generic Attribute Profile (GATT) 这篇文章格式比较 ...

  8. python函数中的不定长参数

    python自定义函数中有两中不定长参数,第一种是*name,第二种是**name.加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数.加了两个星号 ** 的参数会以字典的 ...

  9. HTML与CSS学习笔记(1)

    1.web三大核心技术? HTML CSS JavaScript 2.HTML基本机构和属性 HTML:超文本 标记 语言 超文本:文本内容+非文本内容(图片.视频.音频等) 标记:<单词> ...

  10. 283.移动零 关于列表list与remove原理*****(简单)

    题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 注意,该题目要求不开辟行的数组空间,在原数据上进行操作. 示例: 输入: [0,1,0,3,12 ...