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

zeus-util

v1.0.2

Published

zeus-util

Downloads

4

Readme

zeus-util


zeus-util

如果你刚拿到这个项目,请先在项目目录下执行 yo alinw

项目相关链接

  • PRD:
  • DEMO:

目录结构

.
├── favicon.ico  ---------------------- 页面图标
├── gulpfile.js  ---------------------- gulp入口文件
├── html  ----------------------------- html目录
│   └── index.html  ------------------- 入口页面
├── package.json  --------------------- 项目配置
├── README.md  ------------------------ 说明文件
└── src  ------------------------------ 源码目录
    ├── app  -------------------------- 项目级代码
    │   ├── app.js  ------------------- 项目级脚本逻辑
    │   ├── app.less  ----------------- 全局样式
    ├── components  ------------------- 业务模块集合目录
    ├── i18n  ------------------------- 国际化文案资源文件
    │   ├── en.js
    │   ├── index.js  ----------------- 国际化资源加载器
    │   └── zh-cn.js
    ├── images  ----------------------- 图片资源目录
    └── pages  ------------------------ 页面集合目录
        ├── demo  --------------------- 某一个页面
        │   ├── index.js  ------------- 页面入口文件
        │   ├── PageDemo.js  ---------- 页面视图逻辑
        │   └── PageDemo.less  -------- 页面样式
        └── home  --------------------- 另一个页面
            ├── index.js
            ├── PageHome.js
            └── PageHome.less

环境准备

具体请参考这里

环境准备妥当之后,把项目clone下来,切换到对应分支。更新项目依赖:

yo alinw:upgrade

更新完成后即可开始开发。

常用命令

  • 开新分支

    开新分支之前请确保当前分支的文件均已经加入版本控制,否则可能丢失

    • 小版本自动递增
    gulp newbranch
    • 指定版本
    gulp newbranch --version 1.1.0
  • 启动调试服务器

gulp server

上面的命令会开启一个本地调试服务器(http://localhost:3000/)。此时,项目src目录下的任何文件的变化,都会触发实时构建,并把变更同步到浏览器。

  • 本地打包压缩
gulp
  • 增加新模块
yo alinw:mod

选择 components

生成好之后可以在页面中 require 进去使用。

  • 增加新页面
yo alinw:mod

选择 pages

生成好之后打开对应的页面即可访问。

  • 查看所有可用命令
yo alinw:help
  • 更多git命令

Git发布操作流程和日常使用技巧

  • 更多 gulp 命令和参数(端口、代理、依赖库、国际化、热构建、https……)

请查看构建器的官方文档:

http://gitlab.alibaba-inc.com/nw/nowa-webpack

页面引用资源列表

项目在本地调试以及打包过程中会输出以下入口文件:

  • 如果存在 app/app.js 的话,则输出 app.js
  • 如果在 app/app.js 中引入了样式资源,则输出 app.css
  • 如果存在 pages/page/index.js 的话,则输出 page.js(此处 page 泛指 pages 目录下的任意目录名)。
  • 如果在 page.js 中引入了样式资源,则输出 page.css

对于一个页面,除了引入外部资源外,一般需要引入 app.csspage.cssapp.jspage.js 这几个文件。

当项目中存在国际化资源(i18n 目录)时,生成的 app.js 会增加国际化语言后缀(例如:app-zh-cn.js),

默认为 zh-cn,除非在启动服务器的时候指定语言:

gulp server --locale en

则生成的脚本文件名变为:app-en.js

本地调试服务器并不会向文件系统写入任何文件,请求的资源只存在于内存中。

CSS约定

具体请参考这里

外部工具

脚手架默认引入了以下外部工具库:

| 类库 | 全局名称 | | ---- | ------ | | React | React | | Reflux | Reflux | | ReactDOM | ReactDOM | | Lodash | _ | | jQuery | $ |

ReactRefulx 的使用,请参考各自的官方文档。

Uxcore 模块

Uxcore 组件库请参考这里

定制 Uxcore

可通过在 abc.json 中增加相应配置来定制项目所需的 Uxcore,详见 issue

国际化解决方案

src/i18n 目录为国际化文案资源文件存放目录,其中除了 index.js 之外的文件均为国际化语言资源文件。

index.html 中通过 locale 变量指定当前使用语言。

可以在启动本地调试服务器时,通过 --locale <locale> 参数指定当前调试环境使用的语言。

js文件中可使用如下方法来注入国际化文案:

let i18n = require('i18n');
...
i18n("key"[, argv1[, argv2...]])

首先会找到对应的语言资源文件,然后通过 key 对应到文案模板。

如果文案中有 {0}{1} 变量,将使用 argvX 参数进行替换,更详细的使用说明请参考这里

  • 国际化资源文件索引命名规范:
    • 全局公用资源:global.xxx
    • 模块所属资源:moduleName.xxx
    • 页面所属资源:pageName.xxx

项目中使用图标(或图片)

使用图标(svg)

我们推荐使用 svg 作为图标解决方案。

require svg 文件路径将直接返回包含这个 svg 的 react component。

let Star = require('./star.svg');
...
render() {
    return (
        <Star className="star"/>
    );
}

使用图片(png、jpg、jpeg、gif)

在 js 中 require(或在 css 中 url)一个相对路径的图片资源,将返回这个图片内容的 data-uri。

let img = require('./img.png');
...
render() {
    return (
        <img src={img} alt=""/>
    );
}
.abc {
    background-image: url(./img.png);
}

数据层和模拟数据解决方案

其他

  • 建议使用es6进行编码。