一个简单的脚手架drop-cli、vue的组件库、移动端架构和pc管理后台模版

鉴于自己的经验和以往做过的项目,为了提高工作效率,特意整理了一下项目模版、vue组件库等模版并添加到一个自己封装的脚手架drop-cli中。不喜勿喷!

drop-cli

一个简单的脚手架,可添加不同的模版/框架

1. 安装并查看drop-cli的模版

$ npm install drop-cli -g
$ drop-cli list

2. 选择模板并创建自己的项目

$ drop-cli init
$ gulp-html-front // 输入一个模版
$ gulp-html-test  // 输入自己的项目名称
$ cd gulp-html-test
$ npm install

3. 模版链接

vue-pc-admin-front : 基于vue全家桶的一个pc端后台管理系统
vue-mobile-front : 基于vue全家桶的一个移动端架构模版
drop-element : 制作vue组件库的npm模版
gulp-html-front : 基于gulp的多页应用模版,less,es6

vue-pc-admin-front

PC后台管理Vue架构(vue+ vue-router + store+ axios + scss + svg + element-ui)

安装使用

    $ git clone https://github.com/raintao/vue-pc-admin-front.git
    $ cd vue-pc-admin-front
    $ npm install
    $ npm start

也可利用drop-cli脚手架安装模版

1、 安装drop-cli

$ npm install drop-cli -g
$ drop-cli list

2、选择模板并创建自己的项目

$ drop-cli init
$ gulp-html-front // 输入一个模版
$ gulp-html-test  // 输入自己的项目名称
$ cd gulp-html-test
$ npm install

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,一般我们常用cnpm来代替

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

这里推荐使用yarn, yarn就是一个类似于npm的包管理工具,它是由facebook推出并开源。鉴于facebook在前端界的影响力,yarn一面世就很受瞩目,受到了前端界的广泛欢迎。与npm相比,yarn有着众多的优势,主要的优势在于:速度快,离线模式,版本控制。详情点这里

vue-pc-admin-front模板简单介绍

1.element-ui

由饿了么前端团队推出的 element-ui 是一个基于 Vue.js 的pc端组件库。已发布了 2.4.6 版本,支持了vue2。引入方式为:


    // ui框架  
    import Vue from 'vue';
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    import App from './App.vue';

    Vue.use(ElementUI);

    new Vue({
    el: '#app',
    render: h => h(App)
    });

当然也可按需引入,来减少项目的大小。具体怎么用请参考官网:Element-ui官网手册

2.字体图标用的是vue-svgicon ,

可以在阿里巴巴矢量图标库上下载项目需要的svg图标。放在目录src/assets/svg下,然后yarn svg就可以生成对应的js文件

    1、 在main.js中引用
    // in main.js first line 兼容ie
    import 'vue-svgicon/dist/polyfill'
    // import all icons
    import * as svgicon from 'vue-svgicon'
    import './views/icons'
    Vue.use(svgicon, {
    tagName: 'icon'
    })

    2、 在html中的使用方法
     <icon name="right" width="18" height="16" color="#D0D0D0"></icon>
     <icon icon="right" width="18" height="16" color="#D0D0D0"></icon>

vue-svgicon的命令配置使用方法请参照vue-svgicon的github地址

3.页面title使用的是vue-meta

1、在main.js引入


import Meta from 'vue-meta'

Vue.use(Meta, {
  keyName: 'metaInfo'
})

2、 在js中使用 和data created methods并列


metaInfo: {
    title: '实例使用meta'
}

3、 更多用法参考项目地址

4. 代码风格 vue-property-decorator


import { Vue, Component, Prop } from 'vue-property-decorator'

@Component
export default class YourComponent extends Vue {
  @Prop(Number) propA!: number
  @Prop({ default: 'default value' }) propB!: string
  @Prop([String, Boolean]) propC: string | boolean
}

is equivalent to


export default {
  props: {
    propA: {
      type: Number
    },
    propB: {
      default: 'default value'
    },
    propC: {
      type: [String, Boolean]
    },
  }
}

具体使用方法请参考github 或者文件夹src/views/page下的demo页面

5. vuex的分发封装vuex-class


import Vue from 'vue'
import Component from 'vue-class-component'
import {
  State,
  Getter,
  Action,
  Mutation,
  namespace
} from 'vuex-class'

const someModule = namespace('path/to/module')

@Component
export class MyComp extends Vue {
  @State('foo') stateFoo
  @State(state => state.bar) stateBar
  @Getter('foo') getterFoo
  @Action('foo') actionFoo
  @Mutation('foo') mutationFoo
  @someModule.Getter('foo') moduleGetterFoo

  // If the argument is omitted, use the property name
  // for each state/getter/action/mutation type
  @State foo
  @Getter bar
  @Action baz
  @Mutation qux

  created () {
    this.stateFoo // -> store.state.foo
    this.stateBar // -> store.state.bar
    this.getterFoo // -> store.getters.foo
    this.actionFoo({ value: true }) // -> store.dispatch('foo', { value: true })
    this.mutationFoo({ value: true }) // -> store.commit('foo', { value: true })
    this.moduleGetterFoo // -> store.getters['path/to/module/foo']
  }
}

具体使用方法请参考github 或者文件夹src/views/page下的demo页面

drop-element

vue组件库(可作为一个快速开发vue组件并发布到npm的模版)

完整引入drop-element

    import Vue from 'vue';
    import DropElement from 'drop-element';
    import App from './App.vue';

    Vue.use(DropElement);

    new Vue({
    el: '#app',
    render: h => h(App)
    });

通过js引入

    // 完整demo在lib/demo.html
    <script src="./drop-element.js"></script>

做为vue组件模版


    $ git clone https://github.com/raintao/drop-element.git
    $ cd drop-element
    $ npm install
    $ npm start

也可利用drop-cli脚手架安装模版

1. 安装drop-cli

$ npm install drop-cli -g
$ drop-cli list

2.选择模板并创建自己的项目

$ drop-cli init
$ gulp-html-front // 输入一个模版
$ gulp-html-test  // 输入自己的项目名称
$ cd gulp-html-test
$ npm install

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

推荐阅读更多精彩内容

  • 目录 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element★13489 ...
    余生社会阅读 19,671评论 7 233
  • 来源:github.com Vue.js开源项目速查表:https://www.ctolib.com/cheats...
    zhangtaiwei阅读 11,607评论 1 159
  • 我们来认识Markdown的基础语法 第一是标题 Markdown语法中总共只有六级标题 在井号加空格是最标准的 ...
    小憧憬阅读 387评论 1 1
  • 喜欢孤独的你, 请你一个人到底; 我念念不忘的过往, 问风去哪里带我一起, 记不记得你在雨里独鸣。 喜欢孤独的你,...
    纷纷如你漫天扬阅读 150评论 0 4
  • 我聆听着海浪的呓语仿佛听到了你那亲切的乎唤我深情地眺望着大洋的彼岸不知远方的你呀是否也在把我思念难道你,注定是我今...
    公主baby阅读 200评论 0 1