vue项目入门笔记

一,总体介绍+工具:

Vue.js: 框架
Vue-cli: 脚手架 搭建基本代码框架
vue-router: 官方插件管理路由
vue-rescource:Ajax通信
Webpack: 构建工具
es6+eslint:eslint:es6代码风格检查工具

思想:

工程化,组件化,模块化

内容:

移动端常用的开发技巧
flex弹性布局
酷炫的交互设计

MVVM框架:

V:视图(DOM)
ViewModel:通讯(观察者)
Model:数据(javascript对象)

二,vue.js介绍

MVVM轻量级框架
数据驱动+组件化
社区完善
借鉴了angular的指令和react的组件化
核心思想:数据驱动,组件化

三,vue-cli开启vuejs项目
1.vue-cli简介

vue脚手架工具(目录结构,本地调试,代码部署,热加载,单元测试)

2.安装运行环境: vue-cli github地址 / 参阅webpack开发文档
  • 第一步:如果没有安装node.js则先安装: 官网下载地址
  • 第二步:安装vue-cli脚手架
(1) $node -v //要求4.0.0版本以上
(2) $sudo npm install -g vue-cli
//或使用淘宝镜像安装,如果提示代理问题,可通过代码清除:$npm config set proxy null
$sudo npm install -g cnpm --registry=https:/ /registry.npm.taobao.org --verbose
(3) $vue init webpack [project-name] //搭建vue项目
(4) $cd [project-name];//进入项目
(5)$install vue-router YES //配置环境
   $use eslint to lint your code NO
   $set up unit test  NO
   $setup e2e tests with nightwatch NO
(6) $npm install //安装
安装完成的项目目录
3.项目运行

(1)配置es6语法解决报错;
(2)启动项目

npm run dev

(3)编写一个组件标签:创建一个vue,包括三个块(template,script,style)

4.项目文件目录

build: webpack配置相关
config: 项目配置
node_modules:npm安装的依赖代码库
src:存放项目源码
static:存放第三方静态资源
.babelrc:通过插件把es6编译成es5,stage-数字,数字越小包含的插件(预设插件,转换插件等)越多
.editorconfig:编辑器的配置
.eslintignore:忽略语法检查的目录文件
.eslintrc.js:eslint的配置文件,预先订好的规则或进行修改
.gitigore:git仓库忽略掉输入的文件或者目录
index.html:编码文件
package.json:配置文件

// 下面附上完整的文件目录解析 
.
├── build/                      # webpack config files
│   └── ...
├── config/
│   ├── index.js                # main project config
│   └── ...
├── src/
│   ├── main.js                 # app entry file
│   ├── App.vue                 # main app component
│   ├── components/             # ui components
│   │   └── ...
│   └── assets/                 # module assets (processed by webpack)
│       └── ...
├── static/                     # pure static assets (directly copied)
├── test/
│   └── unit/                   # unit tests
│   │   ├── specs/              # test spec files
│   │   ├── eslintrc            # config file for eslint with extra settings only for unit tests
│   │   ├── index.js            # test build entry file
│   │   ├── jest.conf.js        # Config file when using Jest for unit tests
│   │   └── karma.conf.js       # test runner config file when using Karma for unit tests
│   │   ├── setup.js            # file that runs before Jest runs your unit tests
│   └── e2e/                    # e2e tests
│   │   ├── specs/              # test spec files
│   │   ├── custom-assertions/  # custom assertions for e2e tests
│   │   ├── runner.js           # test runner script
│   │   └── nightwatch.conf.js  # test runner config file
├── .babelrc                    # babel config
├── .editorconfig               # indentation, spaces/tabs and similar settings for your editor
├── .eslintrc.js                # eslint config
├── .eslintignore               # eslint ignore rules
├── .gitignore                  # sensible defaults for gitignore
├── .postcssrc.js               # postcss config
├── index.html                  # index.html template
├── package.json                # build scripts and dependencies
└── README.md                   # Default README file
5.webpack打包 参考教程
四,项目实战:页面骨架开发

1.组件拆分
2.vue-router 安装使用:npm install vue-router
3.数据运算
4.移动端组件库

解决跨域问题:
1.关闭谷歌浏览器;
2.终端运行:open -a /Applications/Google\ Chrome.app --args --disable-web-security --user-data-dir

五,页面结构:

1.created:在模板渲染成html或者模板编译进路由前调用created;初始化某些属性值,然后再渲染成视图
mounted:已完成模板已经渲染或el应对html渲染后;初始化页面完成后,再对dom节点进行一些需要的操作。
2.结构及生命周期:
模板

<template></template>

脚本

<script>
   export default{
           data(){//数据定义
   },
   props:{},//子组件通过props访问父组件的数据
   methods:{},//方法
   created:{},//在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图
   mounted:{},//在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作
}
</script>

样式

<style lang=“less” scoped>
</style>
vue生命周期图解

六、问题及解决

1.输入vue init wepbpack project-name,提示vue-cli · Failed to download repo vuejs-templates/wepbpack: Response code 404 (Not Found)
解决方案:vue init webpack-simple project-name

2.import decrations are not supported by current javascript version
解决方案:在偏好设置找到javascript,把版本调到es6.

3.lang="stylus" rel="stylesheet/stylus”编译时报错
Error: Module build failed: Error: Cannot find module 'stylus'
解决方案:添加依赖,"stylus": "^0.54.5”,

4.SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
解决方案:安装最新的node.js

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352