vue+webpack app项目(1)

作者: Obeing | 来源:发表于2016-09-09 05:00 被阅读4164次

概述

项目中会用到的插件 vue-router vue-resource

打包工具 webpack

依赖环境 node.js

start

安装vue开发的模板

全局安装 vue-cli
$ npm install -g vue-cli#
//创建一个基于 "webpack" 模板的新项目
$ vue init webpack my-project#
//安装依赖,走你
$ cd my-project
$ npm install$ npm run dev

脚手架工具如下:



-build中配置了webpack的基本配置、开发环境配置、生产环境配置等

-config中配置了路径端口值等

-node_modules为依赖的模块

-src放置组件和入口文件

-static放置静态资源文件

-index.html文件入口

webpack中的一些解释
new HtmlWebpackPlugin 这个插件的作用是把output输出的文件自动插入到html里

这里不使用elint检查代码

step1

router.js


这里使用vue-router 中文基本用法可参见http://router.vuejs.org/zh-cn/basic.html

把原来脚手架中的new Vue换成了路由实现,最容易忘记的一点是Vue.use(VueRouter);

这里的Vue.extend()暂时先定义两个临时的组件,main.vue为入口文件,组件内要添加路由视图标签<router-view></router-view>

这里的router.start(app,"#app")的app是require进来main,'#app'是添加从index.html的id为app入口
ps:这里只是点一下要点,真正改动的文件在github上看看喔
现在的效果是:



this is bar 上面那部分是main.vue里面的,
this is bar 则是有router-view渲染出来的

step2

这里要后续要引用zepto开发,所以这里要在webpack.base.conf.js中做一个配置
externals: { 'zepto': 'Zepto' },


上截图解释这个参数,所以要加html中加如zepto的链接,然后在其他地方就可以引用了
app中要切换多个路由为了不代码耦合将map映射部分提取到一个router.js文件中
只是简单地把组件和映射放到router.js中,然后在app.js中传入router

router.js
app.js增加的代码

现在页面还是和之前一样没有变化,基本框架和路由搭建完成,然后就可以开始封装组件

step3 main.vue组件编写

-app的主页底部一般都有几个tab键是固定不变的,这里实现四个tab键分别是首页,发现,通知,我-这里使用mobile sui搭建ui,在main.vue<style>中引用sui样式
@import './assets/css/sm.css';@import './assets/css/sm-extend.min.css';



-这样已经能呈现一个底部导航,但是不太符合vue组件化的概念,毕竟重复了四次的tab代码,所以这里要用slot进行内容分发
--这里要理解slot元素,先上一张官方的解释



已更新到(3)可到我主页查看,不求打赏,只求github小星星

https://github.com/sally2015/vue-project github上同步最新代码

相关文章

  • Vue项目实例参考

    1. 参考文档 原教程地址 vue+webpack项目实战 vue+webpack app项目(1) https:...

  • vue+webpack app项目(1)

    概述 项目中会用到的插件 vue-router vue-resource 打包工具 webpack 依赖环境 no...

  • 如何安装vue

    1、vue+webpack安装,生成初始化vue项目vue+webpack安装,生成初始化vue项目_前端劝退师儿...

  • vue+webpack app项目(2)

    step4 slot的使用 就是外部调用时,标签中的内容。如果外部调用时没有提供内容的话,那么它就会使用自己默认提...

  • vue+webpack app项目(3)

    step6 HomeTab内容+下拉刷新 --这里的ui用的是sui,包括下拉刷新也是用sui的组件,详情:htt...

  • vue+webpack app项目(4)

    step7解决(3)中刷新在两个tab中都添加元素的问题 (3)中的情况是无论在动态tab下拉刷新还是在前端tab...

  • vue+webpack app项目(5)

    step9 个人中心布局## 前面step1到step8已经将首页和基本菜单栏完成,现在先做个人中心页也就是底部菜...

  • vue+webpack app项目(6)

    step6 利用vue-resource 获取数据 将首页的数据变为动态获取的 首先定义一个json文件,注意格...

  • vue-cli搭建项目记录

    创建vue+webpack项目vue init webpack 2.eslint: Newline require...

  • 用Vue-cli生成vue+webpack的项目模板怎么设置为v

    用Vue-cli生成vue+webpack的项目模板 $npm install -g vue-cli$vue in...

网友评论

  • 西门清雪:您好,我构建了一个webpack+vue的项目,目前已经开发完成,但最后怎么打包成APP呢?新手直接上手做的项目,打包发布这块不是很清楚,网上教程太杂,希望能得到您的解答。
  • d5a1d0843c21:那个router.js是哪来的?
  • e01edda0af05:需要安装依赖吗?跑不起来
  • djkloop:Vue命令行安装$ vue init webpack my-project

    This will install Vue 2.x version of template.

    For Vue 1.x use: vue init webpack#1.0 my-project

    vue-cli · Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 207.97.227.239:443
    这个怎么办啊。。。。 :flushed:
    djkloop:@大烟鬼 我们这边被墙了..不能装所以会报超时...:sweat: 好坑
    3d327bef2591: @djkloop 问你 是想安装1.0还是2.0 默认2.0
  • 9d39ca6fa9ab:我想问下热替换要怎么弄啊
  • fendo:赞一个
  • bdbe6bb1f1b1:请问下下载的源码怎么运行
    指缝里de旧时光:@Obeing 提示没有发现“express"
    Obeing: @bdbe6bb1f1b1 npm run dev
  • c97b327cf975:你好 ,我想问下 头部的tab 切换的时候 active 的class 是如何实现切换的
  • 82d7f82b1e86:不要跟着这个页面一步步做。。。因为结果跟截图不同 :smile: ,把菇凉的源码下下来跑一遍再慢慢研究即可。
    Obeing:@舒盼 正解,有一些我并没有写在这里,只是提一下要点 :smile:
  • 月水鸟:可是看不懂
    Obeing: @月水鸟 你可以把源码下载下来结合看看😀
  • 月水鸟:来,我跟着姑娘的教程,学写Vue :smile:
  • 想用文字的力量发出一些声音:step1中的是什么文件啊?app.js吗?
    Obeing: @FullStackBaylor ,router.js文件,你可以去我github看看,源码是跟文章同步的😀

本文标题:vue+webpack app项目(1)

本文链接:https://www.haomeiwen.com/subject/dkdeettx.html