Skip to content

Install npm dependencies that run directly in the browser!Imports source code URLs(it must support UMD)! most of all, It don't affect global variable as same as webpack

License

Notifications You must be signed in to change notification settings

ShanaMaid/Kurumi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kurumi

travis ci badge version license downloads downloads-month

if you think that Kurumi can help you,please star or follow to support me! 😘

Introduction

  • Install npm dependencies that run directly in the browser. No Browserify, Webpack or import maps required.
  • Imports source code URLs(it must support UMD)! most of all, It don't affect global variable as same as webpack
  • Browser will cahce js, use disk-cache when reload modules!
const kurumi = new Kurumi({
  modules: {
  'lodash': 'https://unpkg.com/[email protected]/lodash.min.js'
  }
});
await kurumi.install();
const myLodash = kurumi.get('lodash');
console.log(myLodash.template(`Wow! so cool! <%= name %>`)({ name: 'Kurumi!!!' })); // Wow! so cool! Kurumi!!!
console.log(lodash) // undefined
  • No more node_modules, no dependency to install.

Install

npm install kurumi

Usage

Webpack

use kurumi in React, Onlie Demo;

Browser

<script src="https://unpkg.com/kurumi/lib/Kurumi.min.js"></script>
<script>
(async () => {
  const kurumi = new Kurumi({
    modules: {
    'lodash': 'https://unpkg.com/[email protected]/lodash.min.js'
    }
  });
  await kurumi.install();
  const myLodash = kurumi.get('lodash');
  console.log(myLodash.template(`Wow! so cool! <%= name %>`)({ name: 'Kurumi!!!' })); // Wow! so cool! Kurumi!!!
})();
</script>

Method

constructor(opt)

opt - object

  • modules - required - key: package name, value: package url
  • order - optional - the execution order of package eg: the peerdependence of react-dom is react, order is ['react', 'react-dom']; default: Object.keys(opt.module);
  • threadNum - the maxium of xhr request, deafalt: 5

install - install packages

const kurumi = new Kurumi(...);
kurumi.setThreadNum(1);
kurumi.install();

get(name) - name in Object.keys(opt.module)

const kurumi = new Kurumi({
  modules: {
    'react': 'https://unpkg.com/[email protected]/umd/react.production.min.js',
    'react-dom': 'https://unpkg.com/[email protected]/umd/react-dom.production.min.js'
  }
});
kurumi.install();
kurumi.get('react').createElement('div', {}, 'this is a div!');

setThreadNum(num) - set the maxium of xhr request

const kurumi = new Kurumi(...);
kurumi.setThreadNum(1);
kurumi.install();

FAQ

Why is it called Kurumi?

Kurumi Tokisaki (時崎 狂三ときさき くるみ, Tokisaki Kurumii?) is the third Spirit to appear. Due to her brutal actions, she is referred to as the Worst Spirit (最悪の精霊, Saiaku no Seirei?). She is also the first Spirit to appear as an antagonist in the Date A Live series.

—— From Date A Live

Contributing

Welcome to pr!

Others

inspired By import-http! thx!

About

Install npm dependencies that run directly in the browser!Imports source code URLs(it must support UMD)! most of all, It don't affect global variable as same as webpack

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published