项目作者: gdelmas

项目描述 :
A lightweight JavaScript AMD module loader and resolver
高级语言: TypeScript
项目地址: git://github.com/gdelmas/nano-amd.git
创建时间: 2018-01-13T19:24:54Z
项目社区:https://github.com/gdelmas/nano-amd

开源协议:MIT License

下载


npm package
npm dependencies

nano-amd is a lightweight JavaScript AMD module loader and resolver. The resolver to bundle JavaScript into a single file implements AMD in just 25 lines of JavaScript code. This is finally 0.22 KB minified & gziped.

Installation

From npm

  1. npm install --save-dev nano-amd

Manually

Because nano-amd is written in TypeScript it first has to be transpiled into JavaScript. The npm package already contains the transpiled JavaScript files.

You can either download the transpiled files from the npm package here:

or transpile them yourself by cloning this repository and executing tsc.

Then copy the two transpiled JavaScript files from dist directory into your project.

Usage

Loader (for development)

The loader is used while developing in the Browser. It loads all dependencies synchronously via script tags.

Assuming the following project structure

  1. project/
  2. index.html
  3. src/
  4. main.js
  5. some_module.js
  6. node_modules/
  7. nano-amd/
  8. dist/
  9. nano-amd-loader.js

the main module will be loaded as entry point like this:

  1. <script src="node_modules/nano-amd/dist/nano-amd-loader.js" data-main="src/main"></script>

Optional Attributes

The data-base-path attributes value will be prepended to all absolute module paths. These are all paths that do not start with a . (dot) character.

The data-script-url-suffix attributes value will be appended to each modules URL. It can be used to force reloads in browsers where memory cache issues might exist by appending some changing random query value like ?42.

Resolver (for bundling)

The resolver presumes that all JavaScript modules have been concatenated into one single file. Two additional scripts have to be concatenated before and after the module define part. Please use your favorite tool to do this. When installed from npm the resolver can be found at this path: node_modules/nano-amd/dist/nano-amd-resolver.js.

nano-amd-resolver.js + all modules define + entry point resolve = deployment.js

The entry point resolve depends on the define of your main module from your bundling process. It should look similar to this:

  1. resolve('src/main');

deployment.js can now be loaded with a simple script tag

  1. <script src="deployment.js"></script>

Compatibility

nano-amd has been tested with IE 9 and newer browsers.