I suggest you use lazyload in a web package where I have my own post in this link .
First application
angular.module('myApp', ['ui.router','oc.lazyLoad']) .config(function ($stateProvider, $locationProvider, $ocLazyLoadProvider) { $stateProvider .state("home", { url: "/home", templateUrl: "Home.html", controller: 'homeCtrl', resolve: { loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) { return $ocLazyLoad.load('homeCtrl.js'); }] } }) .state("profile", { url:"/profile", templateUrl: "profile.html", resolve: { loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) { return $ocLazyLoad.load('someModule.js'); }] } }) });
Second application
(function () { var mynewapp=angular.module('someApp',['myApp']); mynewapp.config(function(){
also lively plunker
source share