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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ggwork/diagramviewer

v1.0.10

Published

### 1.安装包

Readme

DiagramViewer使用方法

1.安装包

本项目可以使用npm包安装,也可以使用url直接引入。

npm包地址:@ggwork/diagramviewer

cdn地址:@ggwork/diagramviewer

使用案例:diagramviewer-demo

使用案例:solution首页地址

2.npm包使用方法

安装

npm i @ggwork/diagramviewer -S

引入包

// @ts-ignore
import DiagramViewer from '@ggwork/diagramviewer'

因为diagramviewer并不是ts开发,直接引入会报ts错误,因此引入前要加@ts-ignore,忽略ts错误检查

使用

以vue3为例,在onMounted(vue2中为mounted)中调用。

import {onMounted} from 'vue'

onMounted(()=>{
   let data_url='http://localhost:1337/api/diagrams/58'
   let container = document.querySelector('#container')
   new DiagramViewer(container,data_url);
})

如果是其他框架,请确保DiagramViewer调用的时候,container元素已经存在于真实的dom中。

3.url使用方法。

引入包

在jsdelivr上搜索@ggwork/diagramviewer包,然后获取dist文件下index.js 或者index.min.js的地址。

这里我以1.0.9版本的index.min.js为例说明。

https://cdn.jsdelivr.net/npm/@ggwork/[email protected]/dist/index.min.js

在vue根目录的index.html文件中引入该js

<script src="https://cdn.jsdelivr.net/npm/@ggwork/[email protected]/dist/index.min.js"></script>

使用包

DiagramViewer作为全局变量挂载到了window上,如果要使用的话,就在对应页面的onMounted方法中调用即可

import { onMounted } from "vue";

onMounted(() => {
  let data_url = "http://localhost:1337/api/diagrams/58";
  let container = document.querySelector("#container");
  // @ts-ignore
  new window.DiagramViewer(container, data_url);
});

4.如何更新npm包和url

@ggwork/diagramviewer包的github地址:diagramviewer

1.将仓库克隆到本地

git clone https://github.com/ggwork/diagramviewer.git

2.修改代码

代码主要存放在src下的index.js文件里。

3.打包

shell端执行以下命令打包代码,打包后的代码存放在dist文件夹下

npm run webpack:build

4.修改包信息

包信息存放在package.json文件里其中。 name 就是包的名称,你可以更换成自己的包名。 version 就是包的版本号,每次修改程序后都需要修改版本号才能发布包。 main是入口文件,既别人引入包时引入的文件。 可以根据自己的需要,添加description和keywords等字段

5.发布包

shell端执行

npm publish

如果没有登录过npm,这里还会涉及到npm包登录,npm包登录可以查看此教程如何发布自己的NPM包

5.@ggwork/diagramviewer是如何制作的

@ggwork/diagramviewer包是在flashoop/DiagramViewer仓库的基础上,删掉了vue代码,做了一些修改,制作而成的。

1.修改DiagramViewer.js

@ggwork/diagramviewer的入口文件为src下的index.js文件,index.js文件就是flashoop/DiagramViewer项目中src文件夹下的DiagramViewer.js

index.js文件相较于DiagramViewer.js文件,修改了以下几点

  • 修改了文件名,由DiagramViewer.js 改成了index.js
  • 顶部包引入的路径由绝对路径(@开头)改成了相对路径(.开头)
  • index.js底部,将DiagramViewer挂载到了window上

除了以上几个地方,index.js和DiagramViewer.js一模一样。

3.其他文件改动

其他文件夹下的文件,修改的也不少。但是修改的方法都比较统一。

  • 凡是引入本地包的,引用路径统一由绝对路径(@开头)改成了相对路径
  • 引入的资源(图片,splinecode文件),统一改成了线上地址,目前是存放在阿里云。

4.删掉代码里的vue代码和配置

略,这个对比两个仓库的内容就可以看出来了,我这里就不说了。

5.配置webpack打包程序

略,这个对比两个仓库的内容就可以看出来了,我这里就不说了。