github链接

借鉴吾记APP,使用 vue2.0+vue-router+vuex 为主要技术栈,elementui做为ui框架,多模块 spa 模式,webpack2.0 负责模块打包,gulp 负责处理静态资源打包、压缩,欢迎打赏star!!!

安利一下

吾记前端构建流程

本地环境准备

  • 安装node: * https://nodejs.org/en/download/ ("node": ">=6.0",对应需要升级node-sass,不然使用不了!)

  • 配置webpack: npm install -g webpack(sudo权限)

  • windows配置cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

 因为npm的默认仓库在国外,下载很慢,国内淘宝搞了个CNPM,每10分钟同步一次,完全够用了

依赖包安装

  • 进入wuji目录

  • 执行cnpm install

构建

  • 开发环境:执行 node server.js(或 npm run serve)

  • 热加载 node server.js hot-reload(或 npm run hot)

  • mock数据 npm run mock

  • 生产环境:执行 npm run build

关于source Mapping(仅支持chrome 浏览器)

  • source Mapping就是一个代码映射跟踪,方便本地开发时debug压缩文件

  • 确保chrome已打开source Mapping (默认是打开的)

  • 打开Develop Tools -》 Sources 即可看到源文件

hot reload(支持构建的实时刷新)

  • 环境准备:

  • cnpm install express webpack-dev-middleware webpack-hot-middleware

  • 执行node server.js hot-reload(或 npm run hot)

  • 静态资源访问eg:http://localhost:8088/Static/...

自定义主题

  • 进入wuji目录

  • cnpm install element-theme element-theme-default --save-dev (依赖包安装时已安装)

  • 执行node_modules/.bin/et -i

  • 生成element-variables.css

  • 执行node_modules/.bin/et

  • 则会创建./theme

  • 更改主题时,对应.babelrc的修改会如下:

    {
"plugins": [["component", [
{
"libraryName": "element-ui",
"styleLibraryName": "~theme"
}
]]]
}

autoprefixer(样式前缀兼容性处理),在vue-loader option进行配置

  • 生成规则:

  • 自动加上浏览器样式前缀,兼容各浏览器(针对份额大于全球统计数据的1%,firefox 15)

静态资源gulp处理(/public)

 
var gulp = require('gulp'),
uglify = require('gulp-uglify'), //压缩js
rename = require("gulp-rename"), //文件重命名
changed = require('gulp-changed'), //监听文件是否修改
imagemin = require('gulp-imagemin'), // 图片压缩
pngquant = require('imagemin-pngquant'), // 深度压缩
runSequence = require('run-sequence'), // 同步运行任务插件
del = require('del'), //删除文件
spritesmith = require('gulp.spritesmith'), //合成雪碧图
find = require("gulp-find-glob"); //得到glob对象
  • 进入wuji/assets/public目录

  • cnpm install

  • 执行 gulp(压缩js、图片)

  • 执行 gulp sprite(生成雪碧图)[将需要合成雪碧的图片放入images/sprite/中某个新建的文件夹,运行,则可以在该文件夹下看到对应sprite.png、sprite.scss]

前端页面

index.html => 我的日记列表
passing.html => 过客列表
account.html => 登录注册页面

微信小程序实战github:https://github.com/xiaobinwu/dj

Vue2.0 全家桶开发的网页应用(参照吾记APP)的更多相关文章

  1. vue2.0与实战开发

    慕课网实战 百度云 web前端实战: Node.js入门到企业Web开发中的应用 Web前端性能优化 让你的页面飞起来 前端跳槽面试必备技巧 前端JavaScript面试技巧全套 node.JS 线上 ...

  2. Vuejs实例-00Vuejs2.0全家桶结合ELementUI制作后台管理系统

    Vuejs2.0全家桶结合ELementUI制作后台管理系统 0: 系统环境的介绍 1: Vuejs实例-01使用vue-cli脚手架搭建Vue.js项目 2: Vuejs实例-02Vue.js项目集 ...

  3. vue2.0多页面开发

    我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是.因为vue在工程化开发的时候很依赖webpack,而webpack是将所有的资源整合到一块,弄成一个单页面.但是vu ...

  4. 基于vue2.0+vuex+localStorage开发的本地记事本

    本文采用vue2.0+vuex+localStorage+sass+webpack,实现一个本地存储的记事本.兼容PC端和移动端.在线预览地址:DEMO github地址:https://github ...

  5. vue2.0.js基础开发使用心得(结合实际项目对数据的增删改查)

    1.首先申明,没有使用vue 的组件,以及脚手架等,都是一些基础语法的使用. ------------------------------------------------------------- ...

  6. Vue实例:vue2.0+ElementUI框架开发pc项目

    开发前准备 vue.js2.0中文,项目所使用的js框架 vue-router,vue.js配套路由 vuex,状态管理 Element,UI框架 1,根据官方指引,构建项目框架 安装vue npm ...

  7. 基于Vue全家桶开发的前端组件管理平台

    项目背景 项目背景是外包类建站公司里,设计环节沉淀了大量可复用组件,设计师往往只需要微调组件就拼凑出页面,交付给前端,理论上这些组件在前端也可以复用,但实际上前端每次都要重新实现整个页面,浪费很多人力 ...

  8. [Python] Flask从0到1开发轻量级网页

    概述 Flask采用MVT模型,即Model, Template, View Model:定义数据的存储格式,并且提供了数据库访问的API View:定义那些数据被显示,是业务逻辑处理模块 Templ ...

  9. Vue全家桶开发笔记

    state 中没有属性的情况下,新增属性不会触发mutations修改. 例: commit('change', { c: 3, d: 4, }); state: { test: { a: 1, b: ...

随机推荐

  1. 实现简单的跨站脚本攻击(XSS)

    我们来通俗的了解一下什么是跨站脚本攻击(XSS):在表单中提交 一段 js代码 ,提交的内容被展示到页面时 ,js会被浏览器解析 打个比方吧,比如我现在写的这篇博客,写完以后我要发表对吧? 发表这个过 ...

  2. Selenium Grid2

    简介 使用selenium-grid可以远程执行测试的代码,核心步骤:grid --> server-->chromedriver驱动 -->chrome浏览器 利用Selenium ...

  3. 1001. Exponentiation高精度运算总结

    解题思路 这道题属于高精度乘法运算,要求输入一个实数R一个指数N,求实数R的N次方,由于R有5个数位,而N又特别大,因此用C++自带的数据类型放不下. 解题思路是通过数组储存每次乘积结果和底数的每一位 ...

  4. STM32学习笔记(三)——外部中断的使用

    开发板芯片:STM32F407ZGT6 硬件连接:PE3-KEY1 一.STM32F4的中断介绍 STM32F4的每个IO都可以作为外部中断输入,很强大的功能吧!以前学习的51只有两个外部中断. ST ...

  5. Unity 相机的聚焦功能

    摘要:本文原创,转载请注明出处 需求: 在游戏的任务编辑场景进行编辑的时候,摄像机需要在多个需要编辑的物体之间来回切换,如果只是用摄像机的移动旋转,对于相对位置较近的物体还好说,当相对位置过远的时候, ...

  6. Extjs6(二)——用extjs6.0写一个系统登录及注销

    本文基于ext-6.0.0 一.写login页 1.在view文件夹中创建login文件夹,在login中创建文件login.js和loginController.js(login.js放在class ...

  7. js错误问题 The operation is insecure.

    问题: 当我使用canvas的ctx.getImageData 方法时,js报错,错误是 The operation is insecure. 解决: 我使用ctx.getImageData获取can ...

  8. js中面向对象编程

    一.理解对象: 第一种:基于Object对象 var person = new Object(); person.name = 'My Name'; person.age = 18; person.g ...

  9. 跨域资源共享CORS详解

    简介 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请 ...

  10. nodejs版本管理工具NVM(Node Version Mene)

    最近打算用心学习nodejs,所以在学习中了解到NVM-nodejs的版本管理工具,下面我就记录下我学习并且安装的详细过程,请大神们放过~~第一步.你要先把你本机上安装的nodejs以及npm相关的东 ...