项目简介
vue cli脚手架搭建
vue init webpack vue-music 方式
我之前安装的是vue cli3的版本,事实上cli3也能使用2.x模板:需要安装init模块
1 | npm install -g @vue/cli-init // 安装这个模块 |
然后执行vue init webpack vue-music
指令生成项目,同时需要配置一下部分插件的安装,具体如下:
然后进入vue-music路径下执行npm install
或者cnpm install
进行安装,执行npm run dev
运行项目,在http://localhost:8080打开项目。【我这样做的时候,在npm install时会有些报错,然后使用cnpm install才ok】
vue create vue-music 方式
使用Vue Cli 3 的方式创建项目。
在选择配置时,选择了
其中css预处理器选择了stylus,没有选择路由的history模式,选择Eslint代码验证规则为> ESLint with error prevention only,lint规则检测选择Lint on save (// 保存就检测)。
然后cd进入vue-music路径下,执行npm run serve,在localhost:8080打开项目
项目目录准备
把一开始src里面的文件夹删除了,然后构建如下目录。
stylus
其中的variable.styl文件专门定义变量,实现样式的语义化写法:
reset.styl用于样式初始化
base.styl用于基础的样式,其中引用了variable.styl
icon.styl: 图标字体文件
index.styl: 里面按顺序一次引用了”./reset.styl”、 “./base.styl”、”./icon.styl”,注意顺序不能乱。
关于stylus还需要再安装stylus和stylus-loader,版本号见package.json
初步的小demo
此部分的代码
页面效果:
App.vue
1 | <template> |
main.js
1 | import Vue from 'vue' |
修改.eslintrc.js
webpack.base.conf.js添加别名
其他的坑
页面骨架开发
准备
index.html加meta标签
package.json添加新的依赖
npm i babel-runtime –save //ES6语法转义相关
npm i babel-polyfill –save-dev //ES6一些api的转义
npm i fastclick –save //解决移动端点击300毫秒延迟现象
【babel-polyfill和babel-runtime的区别】
改写main.js
页面入口
m-header组件
m-header.vue
1 | <template> |
App.vue
1 | <template> |
webpack.base.config.js中添加别名:
这部分的效果图
路由配置+顶部tab组件
效果图:
这部分的目录树:
这部分开始建立起了路由。
以下是router/index.js的代码:
1 | import Vue from 'vue' |
另外这里我给路由切换加了一个动画效果:
App.vue代码:
1 | <template> |
插播一条eslint的配置
eslint默认缩进是2格,我用4格的他就报错,真的是烦死了。在网上看到有人说现在Google等大公司都提倡缩进2格,优点是可以节省行空间,一行可写的内容更多,但是视觉反馈没那么强烈,即缩进不明显而且复杂度警告能力减弱,多层嵌套的代码往往更难理解。所以我还是习惯使用4格缩进。
遂改之:https://segmentfault.com/q/1010000013682009
(未完待续)