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

didi-postpackager-autoload

v0.1.4

Published

a postpackager plugin for fis to auto load required resource

Downloads

22

Readme

fis-postpackager-autoload

用于自动加载模块化资源的FIS插件

功能

  • 将当前页面的所有资源依赖自动注入页面中,

功能特点

  • 无需手工维护 <script src="path"></script><link rel="stylesheet" href="path"> 标签引用资源,页面依赖的资源会自动加载,实现像写Node.js程序一样编写前端页面
  • fis-postprocessor-require-async插件结合,支持modjs的require.async异步加载功能
  • 使modjs脱离后端静态资源管理依赖,使用成本更低,配合fis-postpackager-simple插件,轻松优化页面性能。
  • 支持amd脱离后端静态资源管理,轻松加载AMD资源。

自定义输出

插件默认会将引用的资源添加至head标签结尾,如果需要定制位置,可以通过在页面中注入占位符来满足需求

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <!--STYLE_PLACEHOLDER-->
</head>
<body>
    <div class="main"></div>
    <!--SCRIPT_PLACEHOLDER-->
    <!--RESOURCEMAP_PLACEHOLDER-->
    <script type="text/javascript">
        require('main');
    </script>
</body>
</html>

目前支持三种占位符

  • <!--SCRIPT_PLACEHOLDER--> 用于指定脚本输出位置
  • <!--RESOURCEMAP_PLACEHOLDER--> 用于指定异步脚本资源表输出位置,需要在mod.js引用后,异步请求前输出
  • <!--STYLE_PLACEHOLDER--> 用于指定样式输出位置

用法

$ npm install -g fis-postpackager-autoload
$ vi path/to/project/fis-conf.js
// file : path/to/project/fis-conf.js
fis.config.set('modules.postpackager', 'autoload');

// 添加combine插件,自动应用pack配置,打包零散资源
//fis.config.set('modules.postpackager', 'autoload, simple');

// useSiteMap设置使用整站/页面异步资源表配置,默认为false
fis.config.set('settings.postpackager.autoload.useSiteMap', true);

// useInlineMap设置内联resourceMap还是异步加载resourceMap,默认为false
fis.config.set('settings.postpackager.autoload.useInlineMap', true);

//通过include属性将额外的资源增加入resourceMap中
fis.config.set('settings.postpackager.autoload.include', /^\/somepath\//i);

// 设置占位符
fis.config.set('settings.postpackager.autoload.scriptTag', '<!--SCRIPT_PLACEHOLDER-->');
fis.config.set('settings.postpackager.autoload.styleTag', '<!--STYLE_PLACEHOLDER-->');
fis.config.set('settings.postpackager.autoload.resourceMapTag', '<!--RESOURCEMAP_PLACEHOLDER-->');

// 开启AMD模式
fis.config.set('settings.postpackager.autoload.type', 'requirejs');

// 美化resourceMap,即使开启压缩,也不会压缩resourceMap
fis.config.set('settings.postpackager.autoload.beautyResourceMap', true);

DEMO

modjs-autoload-demo