npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vcs

v0.0.2

Published

a vue component generator

Downloads

9

Readme

使用

npm install vcs -g
vue init webpack vcstest
cd vcstest
vcs init
vcs -n TestComponent

VCS的哲学

一般的项目中,我们总是将零散的、可复用的组件放在components目录中,将组件组装成的视图放在views目录中。

介绍

VCS是Vue Component Source的缩写,意为组件的源泉,可以源源不断地生成一个个Vue组件(.vue单文件组件)。它主要有三个核心功能:

  1. 在特定路径下生成一个基本的Vue单文件组件(-n 参数, layouts/Header表示在src/components/layouts目录下生成一个Header.vue文件)
  2. 在生成组件时可以将依赖的组件自动import到新生成的组件中(-d 可接收多个参数, 只能是已经存在的组件)
  3. 在必要时,将生成的组件import到路由配置文件中(若需要import到路由中则需要加上-r参数)

用法

  • VCS 必须在项目根目录下运行, 配置中用到的一切路径都是相对于根目录下的路径,例如,componentsDir的目录路径为src/components, 也就是说,必须在项目根目录下的src/components目录下.若要更改此参数也应以此为对照. viewsDir/routerPath与之相同
  • VCS可直接通过命令行传入配置参数,但是更好的选择是在项目根目录下创建一个.vcsrc.js文件(vcs init直接生成),存储vcs需要用到的配置信息, 类似于.babelrc/webpack.config.js等
  1. 最基础的用法

    vcs -n FirstComponent

    这个命令会生成会读取.vcsrc配置文件中的componentsDir选项,找到存放components的路径(默认为src/components),文件内容为一个vue组件通常都包含的内容. 并且将FirstComponent文件所在位置加入到.vcsrc配置文件的src选项中。假设想要在comoponents/layouts/目录下生成一个TestComponents组件, 可以使用 vcs layouts/TestComponent命令。生成视图的方式与之类似,只需加一个-v参数,读取的是view选项,并且默认为src/views目录

  2. 自动import依赖的组件

    vcs -n SecondComponent -d FirstComponent

    这个命令会生成一个SecondComponent. 并且会在componentsDir和viewsDir制定的目录下递归查找同名的组件,若存在多个同名的组件,会有一个选择其中一个组件的步骤,只需按键盘上下键选中后回车即可.

  3. 将组件加入到路由

    vcs -n user/info/detail -v -d FirstComponent SecondComponent -r

    这个命令是一个最完整的vcs命令。表示在src/views/user/info目录下生成一个视图组件,这个组件依赖FirstComponent和SecondComponent, 并且会在route配置文件合适的位置新添加一行 import detail from 'src/vews/user/info/detail.vue'

例子

vcs -n Hello
vcs -n home -v -d Hello -r

生成的Hello.vue:

<template>
    <div class="hello">
        Component Hello works!
    </div>
</template>

<script>
export default {
    name: 'hello',
    data () {
        return {

        }
    },
    methods: {
        // TODO
    }
}
</script>

<style lang="scss">
    .hello {

    }
</style>

生成的home.vue

<template>
    <div class="home">
        Component home works!
    </div>
</template>

<script>
import Hello from 'src/components/Hello'
export default {
    name: 'home',
    data () {
        return {

        }
    },
    methods: {
        // TODO
    },
    components: {
        Hello
    }
}
</script>

<style lang="scss">
    .home {

    }
</style>

生成的router配置文件

    import Vue from 'vue'
    import Router from 'vue-router'
    import home from '@/components/home'

    Vue.use(Router)

    ...

License

MIT

最后

项目尚未全部完成,如果您对文档中描述的特性有兴趣想要做第一批的使用者,或是也有一些有意思的想法想要交流,欢迎加入QQ群:166540148。要是使用中出现什么问题欢迎@我,看到就会在第一时间解答。此群保留至VCS能成熟使用。