前端开发系列047-基础篇之Vue的安装和初始化
本文介绍Vue项目的安装和初始化等内容。
一、Vue框架安装
我们在项目中使用vue.js框架的方式主要有以下几种情况
> ① 已有项目可以选择下载并导入独立版本
> ② 使用 CDN 方法导入框架
> ③ 使用npm或者cnpm来安装
> ④ 使用vue-cli来快速搭建大型单页项目
① 下载并导入独立版本
我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用script标签引入。
② 使用 CDN 方法导入框架
BootCDN: https://cdn.bootcss.com/vue/2.2.2/vue.min.js
unpkg:https://unpkg.com/vue/dist/vue.js
和npm发布的最新版本保持一致。
cdnjs : https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js
在页面中通过script标签设置src属性为对应的地址即可引入。
③ 使用npm或者cnpm来安装
这里npm安装命令和相关的过程。
wendingding:~ wendingding$ cd /Users/文顶顶/Desktop/V/my-project
wendingding:my-project wendingding$ npm install vue
npm WARN saveError ENOENT: no such file or directory, open '/Users/文顶顶/Desktop/V/my-project/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/Users/文顶顶/Desktop/V/my-project/package.json'
npm WARN my-project No description
npm WARN my-project No repository field.
npm WARN my-project No README data
npm WARN my-project No license field.
+ vue@2.5.17
added 1 package in 4.759s
╭─────────────────────────────────────╮
│ │
│ Update available 5.5.1 → 6.4.0 │
│ Run npm i -g npm to update │
│ │
╰─────────────────────────────────────╯
npm安装的主要命令
$ npm --version 查看npm的版本信息
$ npm install vue 使用npm安装vue到当前的目录
如果觉得npm的安装速度慢,那么也可以使用淘宝的镜像及其cnpm命令。
cnmp安装的主要命令
$ npm install -g cnpm --registry=https://registry.npm.taobao.org 全局安装cnmp
$ cnpm install vue
④ 使用vue-cli来快速搭建大型单页项目
这里列出使用vue-cli来快速搭建大型单页项目的命令和主要过程。
wendingding:V wendingding$ cd my-vue/
wendingding:my-vue wendingding$ npm install -g cnpm --registry=https://registry.npm.taobao.org
npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least ....
/usr/local/bin/cnpm -> /usr/local/lib/node_modules/cnpm/bin/cnpm
+ cnpm@6.0.0
added 629 packages in 20.318s
wendingding:my-vue wendingding$ cnpm install --global vue-cli
Downloading vue-cli to /usr/local/lib/node_modules/vue-cli_tmp
Copying /usr/local/lib/node_modules/vue-cli_tmp/_vue-cli@2.9.6@vue-cli to /usr/local/lib/node_modules/vue-cli
Installing vue-cli's dependencies to /usr/local/lib/node_modules/vue-cli/node_modules
[1/20] commander@^2.9.0 installed at node_modules/_commander@2.17.1@commander
.....
[20/20] inquirer@^6.0.0 installed at node_modules/_inquirer@6.1.0@inquirer
deprecate metalsmith@2.3.0 › gray-matter@2.1.1 › coffee-script@^1.12.4 CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
Recently updated (since 2018-08-10): 2 packages (detail see file /usr/local/lib/node_modules/vue-cli/node_modules/.recently_updates.txt)
Today:
→ download-git-repo@^1.0.1(1.1.0) (04:18:17)
2018-08-11
→ request@^2.67.0(2.88.0) (00:26:50)
All packages installed (252 packages installed from npm registry, used 5s(network 5s), speed 1.29MB/s, json 236(1.43MB), tarball 5.33MB)
[vue-cli@2.9.6] link /usr/local/bin/vue@ -> /usr/local/lib/node_modules/vue-cli/bin/vue
[vue-cli@2.9.6] link /usr/local/bin/vue-init@ -> /usr/local/lib/node_modules/vue-cli/bin/vue-init
[vue-cli@2.9.6] link /usr/local/bin/vue-list@ -> /usr/local/lib/node_modules/vue-cli/bin/vue-list
wendingding:my-vue wendingding$ vue init webpack my-project
? Project name my-vue
? Project description A Vue.js project
? Author flowerField <18681537032@163.com>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? Yes
? Pick an ESLint preset Standard
? Set up unit tests Yes
? Pick a test runner jest
? Setup e2e tests with Nightwatch? Yes
? Should we run `npm install` for you after the project has been created? (recom
mended) npm
vue-cli · Generated "my-project".
# Installing project dependencies ...
# ========================
...
^Cwendingding:my-vue wendingding$ cd my-project/
wendingding:my-project wendingding$ cnpm install
✔ Installed 58 packages
✔ Linked 0 latest versions
✔ Run 0 scripts
✔ All packages installed (used 42ms(network 39ms), speed 0B/s, json 0(0B), tarball 0B)
wendingding:my-project wendingding$ cnpm run dev
> my-vue@1.0.0 dev /Users/文顶顶/Desktop/V/my-vue/my-project
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
95% emitting b
DONE Compiled successfully in 3608ms 16:45:10
I Your application is running here: http://localhost:8080
主要命令
$ npm install -g cnpm --registry=https://registry.npm.taobao.org 全局安装cnmp
$ cnpm install --global vue-cli 使用cnmp来全局安装vue-cli
$ vue init webpack my-project 初始化项目
$ cd my-project/ 切换进入到项目子目录
$ cnpm install
$ cnpm run dev
上面命令执行完毕后,可以在浏览器中通过http://localhost:8080
来访问项目页面。
二、Vue项目结构简单说明
下面列出Vue项目初始化完毕后,项目的目录结构。
wendingding:my-project wendingding$ tree -L 2
.
├── README.md
├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── logo.png
│ ├── utils.js
│ ├── vue-loader.conf.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config
│ ├── dev.env.js
│ ├── index.js
│ ├── prod.env.js
│ └── test.env.js
├── index.html
├── node_modules
│ ├── @babel
│ ├── @types
...
│ └── yauzl
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ ├── components
│ ├── main.js
│ └── router
├── static
└── test
├── e2e
└── unit
目录结构说明
src文件夹
开发目录
assets
用于存放图片
components
用于存放组件。
App.vue
是项目的入口文件。
main.js
是项目的核心文件。
static文件夹
静态资源目录。
test文件夹
初始的测试目录。
build文件夹
项目构建(webpack)相关的代码。
config文件夹
默认的配置目录,包括端口号等信息。
node_modules文件夹
npm 加载的项目依赖模块。
index.html
首页的入口文件。
package.json
项目的配置文件。
README.md
项目说明文档。
这里列出初始App.vue文件的内容(有调整)
<template>
<div id="app">
<img src="./assets/logo.png">
<h1>{{ msg }}</h1>
<router-view/>
</div>
</template>
<script>
export default {
name: 'App',
data () {
return {
msg: '文顶顶:Nice to meet u!'
}
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
这里给出项目运行后对应的页面内容。
![](http://img.wendingding.vip/blog/vue_nice.png)