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

buildjs-plus

v0.2.5

Published

a plus version for buildjs

Downloads

27

Readme

buildjs-plus

a plus version for buildjs-beta

技术前提:同buildjs-beta

环境要求:安装nodejs

标签:基于SeaJS , Web前端集成自动化构建 , Buildjs-plus

改进版的编译流程不再受gruntjs的限制,采用瀑布流编译流程: Buildjs 简易图示

  1. 采用nodejs的chokidar来做文件监听,保证windows和linux下都无缝兼容;
  2. 提供单文件编译流程(如上图);
  3. 提供css的合并功能,通过@import的语句(同css的@import)来输出合并后的css文件(循环依赖会被切断);
  4. 提供版本号控制,针对图片文件以生成新文件方式控制(生成新文件命名格式为:[email protected]等),针对js和css文件对seajs的前端配置文件做map字段的替换;
  5. 优化配置,通过一个文件bjs.conf.js来控制所有编译的配置路径,简化配置文件数量
  • 目录结构

目录结构只是一个示例,具体命名可以按需修改,但是唯一需要注意的是,不要把编译后部署的目标路径指定在监听的源文件夹路径下,这样会导致循环触发文件变动,使编译工具无止境循环执行。

  • 配置文件 bjs.conf.js

相比buildjs-beta,plus版本的配置文件更简洁明了。buildjs-plus提供了bjs.set(key, value)或bjs.set(object)的方式指定编译时的相关配置,下面代码按照支持的key进行说明:

  • 命令行

全局安装了buildjs-plus之后,bjs的命令会添加到系统环境变量中,可以使用以下命令开启或停止编译工具:

bjs init

初始化bjs.conf.js文件,生成简单的配置文件

bjs watch

开启文件实时监听和编译

使用此命令时,远程窗口或cmd窗口会处于运行状态,按ctrl+c或者关闭窗口都可以停止该程序的运行。开启文件实时监听后,只有源文件夹有文件的增删改,都会触发编译。若初始化时源文件夹下文件较多,则需要等待较长时间。单文件编译效率较高,在一般主机配置、CPU占用率和500个文件左右的前提下,编译时间大概在1s以内。

bjs stop

停止文件实时监听和编译

此命令只在linux下生效,并且只针对使用了bjs/bin/bjs.sh的方式。使用bjs watch由于会阻塞进程,不能让程序在后台进程中执行,编译工具提供另一种方式可以在后台运行,同时提供此方式来停止后台进程的运行。

bjs clear

清除生成的旧的版本号文件(针对图片的版本号冗余情况)

bjs xgettext [lang]

提取待翻译的字段,其中参数[lang]支持多语言,不同语言间用","隔开,如:bjs xgettext en-US,zh_CN

bjs gettext [lang]

根据指定的语言翻译已提取的字段,其中参数[lang]同xgettext

安装方式

确认系统已经安装了nodejs和npm。

  • 带插件版本的:npm install buildjs-plus --save-dev
  • 不带插件版的:npm install buildjs-plus-noplugin --save-dev

在linux下,还需要运行buildjs-plus/bin/init.sh,将bjs命令添加到系统命令,即可执行上述的命令,同时,bjsc这个命令也被添加到系统命令,其功能同bjs watch,只不过是其程序后台进程运行的方式。