翻译文档

文档翻译全貌

前言

之前写了一篇Vue CLI 3.x 版本的简单体验,当时文档还不全,具体的使用方法并不是很清楚,大概是2月7号,收到Vue CLI 3接近Beta版的提示,作者尤雨溪也讲下周会出文档,没想到昨天已经出来了。本着对新功能的好奇心,花了一晚上浏览并翻译了一下文档。

如今最大的变化在配置方面,变成了一种独立配置文件的形式。同时集成了很多功能,整个Vue CLI更像一个系统,功能的扩展使用插件的形式向系统中自定义注入。

同时,新的文档将开发中的注意事项也列出来了很多,阅读一下以有助于理解前端的开发流程,对之前使用Vue CLI 2的项目也有一定的帮助。

在这里只展示构建目标部分,也算是对上篇文章的一个重要补充,了解详情全貌请查看翻译文档。

构建目标

目前使用CLI可将代码构建为以下几种形式

应用

App

应用模式是默认的模式,这种模式下:

  • 资源和资源提示会被插入到index.html文件
  • vendor库们被打包进一个独立的块(chunk)来更好的缓存
  • 10kb大小以下的静态资源被内联进JavaScript
  • public文件中的静态资源被复制到构建输出目录

Library

你可以使用一个独立的入口文件来构建库


vue-cli-service build --target lib --name myLib [entry]

File Size Gzipped dist/myLib.umd.min.js 13.28 kb 8.42 kb
dist/myLib.umd.js 20.95 kb 10.22 kb
dist/myLib.common.js 20.57 kb 10.09 kb
dist/myLib.css 0.33 kb 0.23 kb

入口文件可以是.js.vue文件。如果没有指定入口文件,将会使用src/App.vue

lib构建输出:

  • dist/myLib.common.js: 通过打包器使用的CommonJS包(不幸的是,webpack还不支持包的ES模块化标准输出)
  • dist/myLib.umd.js: 一个UMD格式的包,可直接在浏览器使用或通过AMD加载器加载
  • dist/myLib.umd.min.js: UMD格式构建的压缩版本
  • dist/myLib.css: 提取出来的CSS样式文件(可通过在vue.config.js中设置css: { extract: false }强制内联)

在库模式下,Vue是被外部化设置的这意味即使你导入了Vue,包也不会打包Vue。如果通过打包器使用此库,它将试图通过依赖关系加载Vue;否则会降级使用全局变量Vue

Web组件

HTML Web Component

兼容性

你可以使用一个独立的入口文件来构建库


vue-cli-service build --target wc --name my-element [entry]

这将生成一个JavaScript文件(和他的压缩版本),其中包含所有内容。当script文件在页面中使用时,会使用@vue/web-component-wrapper注册包含目标Vue组件的<my-element>自定义元素。wrapper会自动代理prop属性,attr属性,事件和slots插槽。查看更多详情参阅@vue/web-component-wrapper的文档

注意,此包依赖与Vue页面全局可用

该模式允许组件的使用者将Vue作为普通的DOM元素使用:

```<script src="https://unpkg.com/vue"></script>
<script src="path/to/my-element.js"></script>

<!-- 在纯html或任何其他framework中使用 -->

<my-element></my-element>


<h4>捆绑打包多个web组件</h4>
<p>当构建web组件包时,你还可以使用匹配模式指定多个组件作为打包入口:</p>

vue-cli-service build --target wc --name foo 'src/components/*.vue'


<p>在构建多个web组件时,<code>--name</code>会被作为前缀使用,并且自定义元素名会从组件文件名中被推断出来。比如,使用<code>--name foo</code>且组件名为<code>HelloWorld.vue</code>的话,生成的自定义元素将会被注册为<code>&lt;foo-hello-world&gt;</code>。</p>
<h3>异步Web组件</h3>
<blockquote><a href="https://github.com/vuejs/vue-web-component-wrapper#compatibility" rel="nofollow noreferrer">兼容性</a></blockquote>
<p>当指定捆绑打包多个web组件时,这个包会变得相当大,而且用户可能只用包里的部分组件。异步web组件模式下会生成一个代码拆分包,其中包含一个用于在所有组件间提供共享运行时的小的入口文件并且会提前注册所有的自定义元素。然后只有在页面上使用相应的自定义元素的实例时,才会按需获取组件的代码:</p>

vue-cli-service build --target wc-async --name foo 'src/components/*.vue'



File Size Gzipped

dist/foo.0.min.js 12.80 kb 8.09 kb

dist/foo.min.js 7.45 kb 3.17 kb

dist/foo.1.min.js 2.91 kb 1.02 kb

dist/foo.js 22.51 kb 6.67 kb

dist/foo.0.js 17.27 kb 8.83 kb

dist/foo.1.js 5.24 kb 1.64 kb


<p>然后用户只需要在页面中加载Vue和入口文件:</p>
```&lt;script src="https://unpkg.com/vue"&gt;&lt;/script&gt;
&lt;script src="path/to/foo.min.js"&gt;&lt;/script&gt; &lt;!-- foo-one的代码块会在它被使用时自动加载 --&gt;
&lt;foo-one&gt;&lt;/foo-one&gt;

原文地址:https://segmentfault.com/a/1190000013249668

Vue CLI 3 中文文档的更多相关文章

  1. Weex中文文档

    这里整理当前已译出的Weex中文文档,如需查阅完整Weex文档,请访问http://alibaba.github.io/weex/doc/ . 同时也欢迎大家参与Weex中文文档翻译 [Guide] ...

  2. npm的package.json字段含义中文文档

    简介 本文档有所有package.json中必要的配置.它必须是真正的json,而不是js对象. 本文档中描述的很多行为都受npm-config(7)的影响. 默认值 npm会根据包内容设置一些默认值 ...

  3. Vuex内容解析和vue cli项目中使用状态管理模式Vuex

    中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...

  4. spring boot 中文文档地址

    spring boot 中文文档地址     http://oopsguy.com/documents/springboot-docs/1.5.4/index.html Spring Boot 参考指 ...

  5. TensorLayer 中文文档

    TensorLayer 中文文档 好消息 我们获得了 ACM Multimedia (MM) 年度最佳开源软件奖. TensorLayer 是为研究人员和工程师设计的一款基于Google Tensor ...

  6. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  7. VUE CLI环境搭建文档

    VUE CLI环境搭建文档 1.安装Node.js 下载地址 https://nodejs.org/zh-cn/download/ 2.全局安装VUE CLI win+R键打开运行cmd窗口输入一下代 ...

  8. Phoenix综述(史上最全Phoenix中文文档)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...

  9. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

随机推荐

  1. windows下solr7.9+tomcat7环境搭建

    1.下载solr.tomcat(能够不用下载.由于solr有jetty支持) 2.solr部署到tomcat上    首先,把解压包下的solr-4.9.0\example\solr-webapp中的 ...

  2. luogu3382【模板】三分法

    给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单调增,[x,r]上单调减.试求出x的值. 看代码即可. #include <cstdio> #include < ...

  3. C语言/C++中如何产生随机数

    C语言/C++中如何产生随机数 作者: 字体:[增加 减小] 类型:转载 时间:2013-10-14我要评论 这里要用到的是rand()函数, srand()函数,和time()函数.需要说明的是,i ...

  4. 【概念的辨异】—— ISO C 与 POSIX C(C standard library 与 C POSIX library)

    ISO C 表示 C Standard Library,也就是 C 标准库. 二者的主要区别在于: POSIX 是 C 标准库的超集(也即是从内容上,C 标准库是 POSIX 库的一部分,POSIX ...

  5. 2205 等差数列(dp)

    2205 等差数列  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond     题目描述 Description 等差数列的定义是一个数列S,它满足了(S[i] ...

  6. java 中接口的概念

    接口接口在java中是一个抽象的类型,是抽象方法的集合,接口通常使用interface来声明,一个类通过继承接口的方式从而继承接口的抽象方法.接口并不是类,编写接口的方式和类的很相似,但是他们属于不同 ...

  7. [Luogu 2216] [HAOI2007]理想的正方形

    [Luogu 2216] [HAOI2007]理想的正方形 题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输 ...

  8. mac下idea卡顿问题解决

    idea在加载相对来说比较大的系统时,经常性出现卡顿,就是直接卡死,以至于写起代码特别难受. 最后找到的解决方案是修改idea.vmoptions中的内存大小 执行 find / -name idea ...

  9. RabbitMQ .NET消息队列使用入门(二)【多个队列间消息传输】

    孤独将会是人生中遇见的最大困难. 实体类: DocumentType.cs public enum DocumentType { //日志 Journal = 1, //论文 Thesis = 2, ...

  10. 5.30获取openid和createTime--mybatis自动生成接口和映射【这里需要自定义】

    自定义sql获取数据:        dao:            前提是反向成了代码:                A : 接口PhoneModelMapper extends IBaseMap ...