get-js
Version:
A lightweight library to asynchronously load scripts on the fly.
106 lines (76 loc) • 2.34 kB
Markdown
//img.shields.io/npm/v/get-js.svg?style=flat-square)](https://www.npmjs.com/package/get-js)
[](https://www.npmjs.com/package/get-js)
[](LICENSE)
A lightweight library to asynchronously load scripts on the fly.
```bash
$ npm install get-js --save
$ yarn add get-js
$ bower install get-js --save
```
For [older browsers](http://caniuse.com/#feat=promises) you may also need a [promise](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise) polyfill.
```bash
$ npm install es6-promise
```
Use it in your project with `require` or `import` as an ES module.
```javascript
var get = require('get-js');
// ES2015+
import get from 'get-js';
```
Or, using `<script>` tags:
```html
<script type="text/javascript" src="https://unpkg.com/get-js@0.0.7/dist/get.min.js"></script>
```
Here you go:
```javascript
// Load a single script
get('https://code.jquery.com/jquery-2.2.3.min.js').then(function() {
console.log('do something');
});
// Load multiple scripts, without changing the order
get(['/js/abc.js', '/js/xyz.js'])
.then(function() {
console.log('do something now');
})
.catch(function() {
console.log('error');
});
```
**Note: This refers to [angular 1.x](https://angularjs.org/) projects.**
You can inject this in your angular code as a service.
Require the angular module using
```javascript
var angularGetJs = require('get-js/angular');
```
Or
```html
<script type="text/javascript" src="https://unpkg.com/get-js@0.0.7/dist/angular-get.min.js"></script>
```
Then you should be able to use it like this:
```javascript
// Add the module as a dependency in your app.
angular.module('app', ['angularGetJs']);
// Inject the service
angular.module('app').controller('MyController', [
'get',
function(get) {
get('/some/script.js')
.then(function() {
console.log('do something now');
})
.catch(function() {
console.log('error');
});
}
]);
```
This package is licensed under the [MIT License](LICENSE).
[![NPM Version](https: