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

fis-niubility

v1.0.0

Published

A niubility front end module solution with modjs.

Downloads

2

Readme

fis-niubility

基于FIS的纯前端模块化解决方案niubility

niubility是基于FIS二次封装能力封装而成的解决方案,可以直接使用,也可以参考fis-niubility自行封装或组合使用插件来构建属于自己的一体化解决方案。

因为很重要,所以写在最前面

如果希望在niubility的基础上添加自己的目录规范,即修改 roadmap.path 时,不可以 使用fis.config.merge或者fis.config.set,而必须按照下面的方式进行配置

fis.config.get('roadmap.path').unshift({
    reg: 'map.json',
    release: false
});

roadmap的配置具体可以参考 roadmap详解

目录

模块化开发

  • 不仅仅是脚本模块化,niubility带给你模版、脚本、样式的组件化方案。
  • 自动加载模块化依赖,无需手动引入静态资源。
  • 与Node.js风格一致的模块化开发体验,告别 define

组件生态

使用 niubility install 命令可以下载fis-components组件,在业务代码中可以直接通过 require 使用。

niubility install zepto
var $ = require('zepto');

自动性能优化

niubility可以自动压缩、合并页面引用到的所有资源,配置灵活,一个命令完成性能优化,轻松实践雅虎14条优化规则。并且这一切优化无需任何后端框架或服务支持。

前端语言支持

  • 直接编写less文件,无需额外编译工具支持。
  • 可以直接在脚本中通过 var template = __inline('path/to/template.tmpl'); 引用经过了预编译的underscore模版,无需异步请求和解析。
  • 更多的前端语言支持可以参考辅助开发

本地调试环境

  • 通过 niubility server start 就能开启本地调试服务器。
  • 通过 niubility release --watch --live 实现监听文件修改,自动刷新页面等功能。更多内容可以参考辅助开发

如何使用

安装

  • 安装 nodejs&npm

  • 安装niubility

     npm install fis-niubility -g
     niubility -v

快速上手

快速上手请参考前端模块化

开发angular应用还可以参考niubility-angular-demo

模块化加载

如何使用模块化加载可以参考fis-niubility-demo,大致需要以下几个步骤

  • 在需要模块化资源管理的页面,如index.html中引用Mod,注意Mod需放在lib文件夹内,因为这是模块化加载库,不能被模块化。 示例
  • modules目录下添加页面脚本,如main.js,在页面中则可以通过require('main')加载静态资源。 示例
  • 需要引用其他模块,以jquery.js为例,只要在modules目录中添加代码,在main.js中就可以通过var $ = require('jquery')加载,在通过niubility release发布后,页面就会自动加载jquery.js与main.js。

目录规范

niubility自带了一个非常简单的目录规范

  • 所有组件化的脚本、样式、图片均放在modules目录中,可以按照组件划分目录,非模块化的脚本放在lib目录中。
  • page目录下的页面文件会发布到根目录,静态资源会发布到static目录。
  • niubility install获得的组件保存在components目录

任何 目录规范部署规范编译规范 都是可配置的(配置代码)。

如果希望调整目录规范,建议将配置代码中roadmap.path的部分整体复制到项目的fis-conf.js中再进行调整,避免配置不符合预期的问题。

内置的规范包括:

  1. modules 目录下的js、css、less文件都是模块化文件,脚本会自动包装define,无需手动添加。使用require.async或者require加载模块的时候id与文件的对应规则是这样的:
  1. lib 目录下的文件不被认为是模块化的,请直接在页面上使用script或link标签引用。

配置

参考fis配置

更多资料