更新记录

1.0.5(2020-06-29)

2020-06-29: 完成


平台兼容性

Uniapp generator Gitter

一个基于Yeoman的uniapp项目脚手架生成器 - 使您可以使用合理的默认值和最佳实践快速设置项目。

使用用法

安装 yo, generator-uniapp:

npm install -g  yo generator-uniapp
// or
yarn add global yo generator-uniapp

如果您打算使用Sass,则需要首先安装Ruby和Compass:

  • 此处下载或使用 Homebrew 安装 Ruby
  • 使用 gem 安装 compass:
    gem install compass

创建一个新目录,并cd进入:

mkdir my-new-project && cd $_

运行 yo uniapp, 可以选择传递应用名称:

yo uniapp [app-name]

运行 yarn 安装依赖关系并 yarn serve 进行预览

Generators

可用的 generators:

App

开始一个新的 uniapp 项目,生成项目基础代码,Generator会自动依赖dcloudio和vuejs的一些模块,包括vuex和 flyio 作为默认的请求工具

例子:

yo uniapp

Component

生成一个全局组建

例子:

yo uniapp:component MyComponent

生成 src/components/my-component/my-component.vue:

<template>
  <view class="my-component"></view>
</template>

<script>
export default {
  name: 'MyComponent',
  props: {}
}
</script>

<style lang="scss" scoped>
  .my-component {

  }
</style>

Page

生成页面并在 src/pages.json 中注册路由

例子:

yo uniapp:page my-page

产生 src/pages/my-page/my-page.vue:

<template>
  <view class="my-page"></view>
</template>

<script>
export default {
  name: 'MyPage',
  data () {
    return {}
  },
  onLoad () {

  },
  methods: {}
}
</script>

<style lang="scss" scoped>
  .my-page {

  }
</style>

通过参数指定是否生成路由和页面标题

Example:

yo uniapp:page my-page --route --title="my page"

产生如上的页面并添加一条路由信息到 src/pages.json

{
  "pages": [
    ...
    {
      "path": "pages/my-page/my-page",
      "style": {
        "navigationBarTitleText": "my page"
      }
    } 
    ...
  ],
  ...
}

当然,您也可以指定生成的子目录。

例子:

yo uniapp:page user/address --route --title="Address"

产生 src/pages/user/address/address.vue:

<template>
  <view class="address"></view>
</template>

<script>
export default {
  name: 'Address',
  data () {
    return {}
  },
  onLoad () {

  },
  methods: {}
}
</script>

<style lang="scss" scoped>
  .address {

  }
</style>

Service

创建一个 api service 文件

例子:

yo uniapp:service home

产生 src/services/home.js:

import request from '@/utils/request'

export function get (params) {
  return request.get('get-url', params, {
    // headers config
  })
}

export function post (parameter) {
  return request.post('post-url', parameter, {
    // headers config
  })
}

Store

创建一个 Vuex Module 文件

例子:

yo uniapp:store cart

产生 src/store/modules/cart.js:

const cart = {
  state: {

  },
  mutations: {

  },
  actions: {

  }
}

export default cart

你需要收到在 store/index.js 中去引入这个文件

Style

创建一个样式文件,默认使用SASS

例子:

yo uniapp:style home

产生 src/styles/home.scss:

.home {

}

生成的样式文件会自动在 src/styles/app.scss 中引入

@import "./iconfont";
@import "./global";
@import "./skeleton";
@import "./home"; // add this line

License

MIT License

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问