Vue-cli

命令操作

  • 安装脚手架(全局安装):npm install vue-cli -g

  • 初始化项目(创建项目):vue init webpack 项目名称(不能是中文),或vue init webpack .

  • 进入工程项目:cd 项目名称

  • 安装项目依赖(最好不要用cnpm):npm install

  • 安装 vue 路由模块vue-router和网络请求模块vue-resource(根据需要安装):cnpm install vue-router vue-resource --save

  • 启动项目:npm run dev ==> npm run dev命令实际上运行的是node ./build dev-server.js
    修改端口运行(默认端口8080):PROT=6666 node ./build dev-server.js

  • 填坑(以下坑可能由于 vue2.0 导致其他相关编译打包工具没更新导致的)
    这些坑是由于 npm 不是最新的版本3.10.2, 用 npm 3.9.5就会出现以下坑。解决办法: 请运行以下命令:npm update -g

    报错==>
    Error: Cannot find module 'opn'
    Error: Cannot find module 'webpack-dev-middleware'
    Error: Cannot find module 'express'
    Error: Cannot find module 'compression'
    Error: Cannot find module 'sockjs'
    Error: Cannot find module 'spdy'
    Error: Cannot find module 'http-proxy-middleware'
    Error: Cannot find module 'serve-index'

若是是老版本的 vue-cli 还可能报其他错误,需要更新一下 vue-cli,执行命令:npm update vue-cli

之后可以查看一下当前全局 vue-cli 的版本,执行命令:npm view vue-cli

安装一下这个依赖到工程开发环境
cnpm install opn --save-dev
cnpm install webpack-dev-middleware --save-dev
cnpm install express --save-dev
cnpm install compression --save-dev
cnpm install sockjs --save-dev
cnpm install spdy --save-dev
cnpm install http-proxy-middleware --save-dev
cnpm install serve-index --save-dev
cnpm install connect-history-api-fallback --save-dev

再启动项目,报错==>
    ERROR in ./src/main.js
    Module build failed: Error: Cannot find module 'babel-runtime/helpers/typeof'
    at Function.Module._resolveFilename (module.js:440:15)
    at Function.Module._load (module.js:388:25)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Volumes/MacStorage/Coding/Web/vue-test/node_modules/.6.17.0@babel-core/lib/transformation/file/index.js:6:16)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    @ multi main
    ERROR in ./~/.2.1.0-beta.8@webpack-dev-server/client/socket.js
    Module not found: Error: Can't resolve 'sockjs-client' in '/Volumes/MacStorage/Coding/Web/vue-test/node_modules/.2.1.0-beta.8@webpack-dev-server/client'
    @ ./~/.2.1.0-beta.8@webpack-dev-server/client/socket.js 1:13-37
    @ ./~/.2.1.0-beta.8@webpack-dev-server/client?http://localhost:8080

安装一下 babel-runtime:cnpm install babel-helpers --save-dev

    启动项目,再次报错==>
    Module build failed: Error: Cannot find module 'babel-helpers'
    Module build failed: Error: Cannot find module 'babel-traverse'
    Module build failed: Error: Cannot find module 'json5'
    Module build failed: Error: Cannot find module 'babel-generator'
    Module build failed: Error: Cannot find module 'detect-indent'
    Module build failed: Error: Cannot find module 'jsesc'

找不到依赖那就再安装一下:
cnpm install babel-helpers --save-dev
cnpm install babel-traverse --save-dev
cnpm install json5 --save-dev
...不写了,请把全部把旧的环境全部清除,更新到最新版本

  • 解决办法概述
    如果遇到Module build failed: Error: Cannot find module '模块名'
    那就安装
    cnpm install 模块名 --save-dev(关于环境的,表现为npm run dev 启动不了)
    cnpm install 模块名 --save(关于项目的,比如main.js,表现为npm run dev 成功之后控制台报错)
    比如escape-string-regexp、strip-ansi、has-ansi、is-finite、emojis-list

  • 终于可以启动项目了
    输入完命令会自动启动浏览器,如果默认打开 IE 不行 :npm run dev

脚手架目录结构说明

node_modules:整个项目以来的文件

build :配置文件
    webpack.base.conf.js中的alias定义了import Hello from '@/components/Hello'中的@,就是src

config:配置文件

src:源码目录,开发代码(我们写的代码放在该文件夹里,其他的一般不动)
src/assets:放一些第三方库和静态资源文件
src/components:存放开发好的组件(重要)
src/router:路由配置文件夹
src/app.vue:整个项目的根组件
src/main.js:项目的js入口文件==>
    import Vue from 'vue'//导入vue模块
    import App from './App'//导入app.vue文件
    import router from './router'//导入router文件夹中的index.js
    
static:静态,放图片什么的
static/.babelrc:关于ES6的一些配置
static/.editorconfig:关于编辑器的一些配置
static/.gitignore:git版本管理控制工具忽略的文件(重要)
static/.postcssrc.js:浏览器前缀
    
index.html:项目入口

组件的使用:
1.使用import命令,将组件引入
2.在components中注册引入的组件
3.使用标签调用(标签使用驼峰写法)

注意点:
1.一个组件下只能有一个并列的 div
2.数据要写在 return 里面而不是像文档那样子写
错误的写法:
data: {
message: 'Hello Vue!
}
正确的写法:
export default {
data () {
return {
msg: 'Hello Vue!'
}
}
}

vue脚手架路由:

欢迎界面:http://localhost:8080/#/

路由相关:
    1.定义路由的跳转链接 <router-link to="跳到的位置" tag="以什么标签显示" active-class="路由激活时的类名"></router>
    2.路由激活后组件显示的位置 <router-view></router-view>
    3.跳到哪儿,显示什么?在路由的配置文件中定义
        .src/router/index.js

子路由(嵌套路由):

路由参数:
    1.配置src/router/index.js文件
        {
            path:'/article/:index',
            component:Article
        }
    2.参数传递
        <router-link to="/article/12312">看文章</router-link>
        
        附加:<router-link v-for="(item,index) in list" :to="{path:'/article/'+index}">动态参数</router-link>
        
    3.在Article组件中得到参数数据
        this.$route.params.index
    
    小结==>
        12312这个数据会传给'/article/:index'中的index,
        this.$route.params.index中的index是读取'/article/:index'中的index

history历史模式:
http://localhost:8080/#/article
应该是去掉#,
添加mode: 'history'后,http://127.0.0.1:8080/article

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

推荐阅读更多精彩内容