Vue项目的创建
一、 node/vue安装
1)如果不确定自己是否安装了node,可以在命令行工具内执行: node -v (检查一下 版本);
2)如果执行结果显示: xx 不是内部命令,说明你还没有安装node , node 安装地址:http://nodejs.cn/download/
- vue安装:
npm install vue
vue中文文档:https://cn.vuejs.org/v2/guide/
二、 vue-cli 全局安装
npm install -g @vue/cli
拉取 2.x 模板 (旧版本)
Vue CLI 3 和旧版使用了相同的vue命令,所以 Vue CLI 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的vue init功能,你可以全局安装一个桥接工具:
npm install -g @vue/cli-init
# `vue init` 的运行效果将会跟 `vue-cli@2.x` 相同
vue init webpack my-project
注意:加-g是安装到全局: 所以一般安装不要随便将一些配置安装到全局
安装完成以后 可以输入命令 :vue 回车,可以看到针对vue的命令行;
**: 如果npm在国内的网络环境下可能会比较慢,解决方案:
使用淘宝镜像:
1>.官方网址:http://npm.taobao.org;
2>.安装:npm install cnpm -g --registry=https://registry.npm.taobao.org; 注意:安装完后最好查看其版本号cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误;
3>.注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm(以下操作将以cnpm代替npm)。
4> 如何更新npm的方法: 可以使用 npm install -g npm 来更新版本
vue-cli文档:https://cli.vuejs.org/zh/guide/
三、安装webpack
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
执行命令: vue init webpack demo(你新建的项目名称/文件名称,工程名不能用中文)
执行之后将会 自动初始化一个文件夹 :demo
手动打开demo文件夹 可以看到 已经初始化好了 一个基本的项目:
webpack中文文档:https://www.webpackjs.com/concepts/
四、启动项目
如上图所示,执行初始化项目以后,下面会有对应的命令:
继续执行: cd demo (这是进入到demo文件夹的命令)
然后执行安装项目依赖 :npm install
注: npm install 执行可以进行vue已经vue的插件安装,在第三步的时候,已经初始化了项目,并且在 package.json 里面已经有相关配置,所以在这里可以直接安装;
安装完成之后再执行命令: npm run dev
整个项目就已经启动了:
五、项目文件配置介绍
build
和 config
是关于webpack的配置,里面包括一些server,和端口;
node_modules
: 安装的依赖代码库;
src
: 存放源码;
static
:存放第三方静态资源的,static里面的.gitkeep,如果为空,也可以提交到gitHub上面,正常情况下,是不可以提交的。
.babelrc
:把es6文件编译成es5
.babelrc文件
{
"presets": ["es2015", "stage-2"],//表示预设,表示babelrc转换预先需要安装的插件
"plugins": ["transform-runtime"],//把es6的方法做转换
"comments": false //false表示转换后代码不生成注释
}
.editorconfig
:编辑器的配置
.editorconfig
charset = utf-8 //编码
indent_style = space //缩进风格,基于空格做缩进
indent_size = 2 //缩进大小是2格
end_of_line = lf //换行符的风格
insert_final_newline = true //当你创建一个文件,会自动在文件末尾插入新行
trim_trailing_whitespace = true //自动移除行尾多余空格
.eslintignore 忽略语法检查的目录文件
就是忽略对build/.js和 config/.js
package.json
:
{
"name": "demo",
"version": "1.0.0",
"description": "demoApp",
"author": "",
"private": true,
"scripts": { /*表示可以执行一些命令,例如:npm run dev会执行node build/dev-server.js,npm run build会执行node build/build.js,因此可以通过scripts配置脚本*/
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"lint": "eslint --ext .js,.vue src"
},
"dependencies": { /*项目的依赖*/
"vue": "^2.2.2",
"vue-router": "^2.2.0"
},
"devDependencies": { //编译需要的依赖
.......................
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
入口文件: index.html 和 main.js
六、相关模块安装
vue-router
npm install vue-router
如果在一个模块化工程中使用它,必须要通过 Vue.use()
明确地安装路由功能:
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
如果使用全局的 script 标签,则无须如此 (手动安装)
vue-router中文文档:https://router.vuejs.org/zh/
vuex
npm install vuex --save
在一个模块化的打包系统中,您必须显式地通过 Vue.use()
来安装 Vuex:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
当使用全局 script 标签引用 Vuex 时,不需要以上安装过程。
vuex中文文档:https://vuex.vuejs.org/zh/
element-ui
npm i element-ui -S
在 main.js 中写入以下内容:
import Vue from 'vue';
import App from './App.vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
样式文档:http://element-cn.eleme.io/#/zh-CN/component/installation
Axios
npm install axios