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

elicc-build

v1.1.2

Published

用来自动化编译js的nodejs工具.

Downloads

3

Readme

自动化编译工具使用说明

工具说明

工具名称为elicc-build,用于自动化编译jscssstyltpl文件,进行代码格式化、编译、压缩与合并

Usage: elicc-build [options] [command]

Commands:

config <key> [value]  保存依赖项
init                  编译器初始化中,请稍候...
build [env]           编译项目,参数[evn]指定编译环境:dev或production,根据环境判断是

否压缩文件

Options:

-h, --help          output usage information
-V, --version       output the version number
-v, --version       查看版本
-s, --save [value]  保存依赖项
-p, --path          查看项目编译目录
-e, --environment   查看当前编译环境:
                     dev - 开发环境,不压缩
                     production - 生产环境,压缩
-f, --force         用于编译时,强制重新生成所有文件

参数说明

-p

查看当前要编译的文件路径,默认编译命令行当前所显示的目录,目录下必须存在module.json配置文件, 此文件分两种,项目组配置和项目模块配置,各属性如下:

  • 组配置文件
{
  // 配置文件类型(组为group、模块为module)
  "type": "group",   
  // 配置名称(组名或模块名)
  "name": "lib",                    
  // 组编译后保存文件的路径(可为相对路径,相对与组来说的;也可为绝对路径,不要使用当前目录,会覆盖掉项目文件)
  "build-path": "../lib-build"      
}
  • 模块配置文件
{
   //配置文件类型(组为group、模块为module)
  "type": "module",
  // 配置名称(组名或模块名)
  "name": "seajs",
  //模块所属组
  "group": "lib",
  //模块编译后包含文件,后缀包含 n 则不进行编译处理(不添加头与尾),保留原文件
  //也可采用shell的正则表示(glob):
  // 1、* 匹配零个或多个任意字;
  // 2、[abc]匹配任何一个列在方括号中的字符;
  // 3、? 只匹配一个任意字符;
  // 4、**匹配多级目录,会所有子目录
  // 5、**/** 或留空将匹配所有文件
  "include": [
    "sea.njs",
    "sea-debug.njs",
  ],
  //要排除的文件,匹配规则与包含文件一致
  "exclude": []
}

-e

查看当前编译环境,编译环境分两种devproduction,前者为开发环境,文件编译直接存放到目录,不进行压缩处理;后者为生产环境,对编译后的文件后进行压缩合并处理,可直接用于生产环境。

-f

文件编译会自动根据最后一次编译时间与源文件是否有变动,来判断是否需要重新编译,使用-f命令会强制重新生成新文件,刷新缓存。当使用build命令时,可指定此参数,强制编译生成新文件。

-s

添加新的依赖包时,用于保存依赖项到package.json配置文件

命令说明

config

配置系统参数,可配置的参数有:

  • env : 编译环境,有devproduction两种(默认为dev,不压缩代码)
  • path: 编译目标项目路径(默认为命令行当前指向路径:.

init

配置初始化,用于检测项目中所有依赖包是否安装,若未安装,自动下载并安装包。

build

  • 1、编译项目文件,对js文件添加require("id", ["dependencies"], function(){ ... });
  • 2、对styl文件使用stylus编译成css文件。
  • 3、tpl文件直接输出,使用时通过artTemplate进行加载与编译,渲染成html。
  • 4、css文件直接输出,使用时通过seajs进行加载。
  • 5、其他文件默认直接输出。
  • 编译时,读取配置中的编译环境,采用开发环境不压缩,生产环境压缩的方式。
  • 编译时,可传递参数build devbuild production来指定以哪种方式进行编译,这种显示指定编译环境时,会强制生成所有新文件。
  • 当采用默认编译环境进行编译项目时,也可通过参数-f来显示指定是否强制生成新文件,命令为build -f
  • 编译之后的文件,在请求时会自动进行请求合并,一个文件需要依赖的其他文件(包括js、css)会自动合并为一个请求链接,要求服务端的支持。其采用的是seajs-combo的请求合并功能。