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

gfee-utils

v1.0.1

Published

## 安装

Downloads

1

Readme

gfee-utils

安装

npm install --save gfee-utils

配置

推荐按需引入,后编译,需先安装 eslint-plugin-import

npm install --save-dev eslint-plugin-import

babel.config.js

module.exports = {
  plugins: [
    [
      'import',
      {
        libraryName: 'gfee-utils',
        camel2DashComponentName: false,
        libraryDirectory: 'src',
        customName: name => {
          const firstLetter = name.slice(0, 1).toLocaleLowerCase();
          const restLetters = name.slice(1, name.length);
          return `gfee-utils/src/${firstLetter}${restLetters}`;
        },
      },
      'gfee-utils',
    ],
  ],
};

vue.config.js

module.exports = {
  // ...
  transpileDependencies: [/[/\\]node_modules[/\\]gfee-utils[/\\]/],
};

webpack.config.js

{
  test: /\.js$/,
  use: ['babel-loader'],
  exclude(modulePath) {
    if (/gfee-utils/.test(modulePath)) {
      return false;
    }
    return /node_modules/.test(modulePath);
  },
}

使用

import { getNodePath, checkAppVersion } from 'gfee-utils';

已有工具方法说明

  • checkAppVersion 监测项目前端版本更新
  • cloneDeepPlainObject 对plainObject对象简单深度copy
  • deepForEachArray 深度遍历数组每一项(包含children子项)做处理
  • formatDate 日期格式化:yyyy-MM-dd
  • formatDateTime 时间格式化:yyyy-MM-dd HH:mm:ss
  • getArrayItemByKeyVal 通过一个键值获取一个对象数组中有含这个键值的项
  • getNodePath 在一个树状结构数据上寻找某个节点,返回完整的节点路径
  • iExtend 用多个源对象的属性覆盖目标对象的已定义属性
  • isValidVal 是否是有效值,除了null, undefined, ''以外的值
  • lazyload 图片懒加载
  • parseUrl 对url各部分进行拆分分析
  • parseUrlParams 获取url查询字符串参数
  • stringifyParams 把一个对象序列化为查询字符串
  • add 加法,fix精度问题
  • divide 除法,fix精度问题
  • multiply 乘法,fix精度问题
  • subtract 减法,fix精度问题
  • timeAgoLabel 时间戳转换成什么之前
  • randomNumber 生成任意位数随机数
  • randomId 简单随机生成一个自定义长度字符串,可用做id标识
  • throttle 节流,将高频操作优化成低频操作,每隔 100~500 ms执行一次即可
  • debounce 防抖多次高频操作优化为只在最后一次执行
  • copyToClipboard 将一个字符串复制到剪贴板
  • scrollToTop 平滑滚动到页面顶部
  • decodeURLRecursively 深层解码