Skip to content

Instantly share code, notes, and snippets.

@pitpit
Last active August 25, 2019 21:14
Show Gist options
  • Save pitpit/614f00bb72607c11b055e448f451e93d to your computer and use it in GitHub Desktop.
Save pitpit/614f00bb72607c11b055e448f451e93d to your computer and use it in GitHub Desktop.
Lazy loading with angularjs, ui-router, webpack and typescript

Lazy loading with angularjs, ui-router, webpack and typescript

Inspired by https://medium.com/@var_bin/angularjs-webpack-lazyload-bb7977f390dd but using wepback import() function

Working with:

  • @uirouter/angularjs: 1.0.22
  • @uirouter/core: 5.0.23
  • angular: 1.4.9
  • webpack: 4.39.1
  • webpack-cli: 3.3.6

See also:

import * as angular from 'angular';
export default angular
.module('demo', [
])
.config([
'$stateProvider',
function($stateProvider) {
$stateProvider
.state('demo.**', {
url: '/demo',
lazyLoad: () => import(/* webpackChunkName: "demo" */ './demo.states').then(({ default: lazyLoadResults }) => lazyLoadResults),
})
;
},
])
.name
;
export default {
states: [
{
name: 'my-page',
url: '/demo/my-page',
templateUrl: 'demo/my-page.html',
controller: () => {
//something in it
},
},
],
};
{
"compilerOptions": {
"target": "es5",
"moduleResolution": "node",
"module": "esnext",
"importHelpers": true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment