1. Installation(安装)

安装

兼容性说明

Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器。

发行说明

每个版本的详细更新日志都可以在 GitHub 上找到。

Devtools视图

使用 Vue 时,我们建议在您的浏览器中安装 Vue Devtools,使您能够在更方便的在界面中检查和调试 Vue 应用程序。

直接包含<script>

只需下载并包含一个脚本标签,Vue将被注册为全局变量。

在开发过程中不要使用小版本,这样你会略过所有常见错误的警告。

开发版本具有完整的警告和调试模式

生产版本警告消除,30.33KB min + gzip

CDN

建议:https//cdn.jsdelivr.net/npm/vue,它会在发布到 npm 后立即反映最新版本。你也可以在https://cdn.jsdelivr.net/npm/vue/浏览npm包的源代码。

unpkgcdnjs上也可用(cdnjs需要一些时间才能同步,因此最新的版本可能还不可用)。

NPM

使用Vue构建大规模应用程序时,NPM是首选的安装方法。它可以与诸如WebpackBrowserify等模块捆绑器很好地配对。Vue还提供了用于创作单个文件组件的附带工具。

# latest stable $ npm install vue

CLI

Vue.js提供了一个官方CLI,用于快速搭建雄心勃勃的单页应用程序。它为现代前端工作流程提供电池包含的构建设置。只需几分钟即可启动并运行热重新加载,保存省时和生产就绪版本:

# install vue-cli $ npm install --global vue-cli # create a new project using the "webpack" template $ vue init webpack my-project # install dependencies and go! $ cd my-project $ npm install $ npm run dev

CLI假定了Node.js和关联的构建工具的先前知识。如果您是Vue或前端构建工具的新手,我们强烈建议您在使用CLI之前无需任何构建工具即可阅读本指南。

不同构建的解释

dist/NPM包的目录中,您会发现许多不同的Vue.js版本。以下是它们之间差异的概述:

UMDCommonJSES 模块
Fullvue.jsvue.common.jsvue.esm.js
Runtime-onlyvue.runtime.jsvue.runtime.common.jsvue.runtime.esm.js
Full (production)vue.min.js--
Runtime-only (production)vue.runtime.min.js--

术语

  • 完整版:包含编译器和运行时的版本。

  • 编译器:负责将模板字符串编译为JavaScript呈现函数的代码。

  • 运行时:负责创建Vue实例,渲染和修补虚拟DOM的代码等等。基本上所有东西都不包括编译器。

  • UMD:UMD版本可以通过<script>标签直接在浏览器中使用。https://cdn.jsdelivr.net/npm/vue的 jsDelivr CDN的默认文件是Runtime + Compiler UMD build(vue.js)。

  • CommonJSCommonJS的版本是用于与旧捆扎机像使用 browserify或的WebPack 1。这些bundlers(pkg.main)的默认文件是仅运行时版本的CommonJS build(vue.runtime.common.js)。

  • ES模块ES模块构建旨在与现代捆绑软件(如 webpack 2或汇总)一起使用。这些捆绑器(pkg.module)的默认文件是仅限运行时ES模块build(vue.runtime.esm.js)。

运行时+编译器 vs. 仅运行时

如果您需要在客户端上编译模板(例如,将字符串传递给template选项,或者使用其DOM内的HTML作为模板将其挂载到某个元素),则需要编译器以及完整的构建版本:

// this requires the compiler new Vue{ template: '<div>{{ hi }}</div>' }) // this does not new Vue{ render (h) { return h('div', this.hi) } })

在使用vue-loadervueify时,*.vue在构建时将文件中的模板预编译为JavaScript。您并不需要最终捆绑包中的编译器,因此可以使用仅运行时版本。

由于仅限运行时的版本比完整版本的版本重量轻大约30%,所以您应该尽可能使用它。如果您仍想使用完整版本,则需要在捆绑器中配置别名:

Webpack

module.exports = { // ... resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' // 'vue/dist/vue.common.js' for webpack 1 } } }

Rollup

const alias = require('rollup-plugin-alias') rollup{ // ... plugins: [ alias{ 'vue': 'vue/dist/vue.esm.js' }) ] })

Browserify

添加到您的项目中的package.json

{ // ... "browser": { "vue": "vue/dist/vue.common.js" } }

开发与生产模式

开发/生产模式是UMD构建的硬编码:未缩小的文件用于开发,缩小的文件用于生产。

CommonJS和ES模块版本适用于捆绑软件,因此我们不提供它们的缩小版本。您将负责自行缩小最终捆绑。

CommonJS和ES Module构建还会保留process.env.NODE_ENV的原始检查,以确定它们应该运行的模式。您应该使用适当的捆绑程序配置来替换这些环境变量,以便控制Vue将运行的模式。process.env.NODE_ENV使用字符串文字替换还允许缩小像UglifyJS完全放弃仅限开发的代码块,减少最终的文件大小。

Webpack

使用Webpack的DefinePlugin

var webpack = require('webpack') module.exports = { // ... plugins: [ // ... new webpack.DefinePlugin{ 'process.env': { NODE_ENV: JSON.stringify('production') } }) ] }

Rollup

使用rollup-plugin-replace

const replace = require('rollup-plugin-replace') rollup{ // ... plugins: [ replace{ 'process.env.NODE_ENV': JSON.stringify('production') }) ] }).then(...)

Browserify

将全局envify转换应用于您的包。

NODE_ENV=production browserify -g envify -e main.js | uglifyjs -c -m > build.js

另请参阅生产部署提示。

CSP环境

某些环境(例如Google Chrome应用)执行内容安全政策(CSP),禁止使用new Function()评估表达式。完整的构建依赖于此功能来编译模板,因此在这些环境中无法使用。

另一方面,仅运行时版本完全符合CSP。当使用带有Webpack + vue-loader或Browserify + vueify的仅运行时版本时,您的模板将被预编译为render在CSP环境中可正常工作的函数。

开发构建

重要提示:GitHub /dist文件夹中的构建文件仅在发布期间签入。要从GitHub上的最新源代码使用Vue,您必须自己构建它!

git clone https://github.com/vuejs/vue.git node_modules/vue cd node_modules/vue npm install npm run build

Bower

Bower只提供UMD版本。

# latest stable $ bower install vue

AMD模块装载机

所有UMD版本都可以直接用作AMD模块。