A lightweight library to asynchronously load scripts on the fly.
# Using npm
$ npm install get-js --save
# Using Yarn
$ yarn add get-js
# Using Bower
$ bower install get-js --save
For older browsers you may also need a promise polyfill.
# Install promise polyfill.
$ npm install es6-promise
Use it in your project with require
or import
as an ES module.
const get = require('get-js');
// ES2015+
import get from 'get-js';
Or, using <script>
tags:
<script type="text/javascript" src="https://unpkg.com/get-js@0.0.7/dist/get.min.js"></script>
Here you go:
// Load a single script
get('https://code.jquery.com/jquery-3.4.1.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');
});
If you're using ES2015+ / TypeScript codebase, you can also use async
/ await
syntax with get
:
import get from 'get-js';
(async () => {
await get('https://code.jquery.com/jquery-3.4.1.min.js'); // Gets jQuery.
$(document).on('ready', () => {
console.log('Ready!');
});
})();
Note: This refers to angular 1.x projects.
You can inject this in your angular code as a service.
Require the angular module using
const angularGetJs = require('get-js/angular');
Or
<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:
// 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');
});
}
]);
To start developing or contributing to get-js
, you'll need to clone the project first.
-
Clone it locally.
$ git clone git@github.com:kabirbaidhya/get-js.git
-
Install dependencies.
$ yarn
-
Linting
$ yarn lint
-
Generating a build.
$ yarn build
This package is licensed under the MIT License.