angular-ui / ui-router

The de-facto solution to flexible routing with nested views in AngularJS
http://ui-router.github.io/
MIT License
13.56k stars 3.01k forks source link

ng_from_import is undefined #3257

Closed elesdoar closed 4 years ago

elesdoar commented 7 years ago

Error loading with requirejs

image

christopherthielen commented 7 years ago

Can you provide more details on how your requirejs is set up?

elesdoar commented 7 years ago

OK, this error is in Firefox, but Google Chrome says:

image

elesdoar commented 7 years ago

RequireJS config:

'use strict';

require.config({
  baseUrl: '/',
  waitSeconds: 200,
  paths: {
    // Please keep in alphabetical order.
    'angular': 'libs/angular/angular.min',
    'angular-animate': 'libs/angular-animate/angular-animate.min',
    'angular-aria': 'libs/angular-aria/angular-aria.min',
    'angular-bootstrap': 'libs/angular-bootstrap/ui-bootstrap-tpls.min',
    'angular-cookies': 'libs/angular-cookies/angular-cookies.min',
    'angular-loading-bar': 'libs/angular-loading-bar/build/loading-bar.min',
    'angular-local-storage': 'libs/angular-local-storage/dist/angular-local-storage.min',
    'angular-file-upload': 'libs/angular-file-upload/dist/angular-file-upload.min',
    'angular-material': 'libs/angular-material/angular-material.min',
    'angular-material-data-table': 'libs/angular-material-data-table/dist/md-data-table.min',
    'angular-messages': 'libs/angular-messages/angular-messages.min',
    'angular-resource': 'libs/angular-resource/angular-resource.min',
    'angular-simple-logger': 'libs/angular-simple-logger/dist/angular-simple-logger.min',
    'angular-translate': 'libs/angular-translate/angular-translate.min',
    'angular-translate-loader-static-files': 'libs/angular-translate-loader-static-files/angular-translate-loader-static-files.min',
    'angular-sanitize': 'libs/angular-sanitize/angular-sanitize.min',
    'angular-ui-router': 'libs/angular-ui-router/release/angular-ui-router',
    'angularAMD': 'libs/angularAMD/angularAMD.min',
    'bootstrap': 'libs/bootstrap/dist/js/bootstrap.min',
    'crypto-js': 'libs/crypto-js/crypto-js',
    'ngload': 'libs/angularAMD/ngload.min',
    'ng-videosharing-embed': 'libs/ng-videosharing-embed/build/ng-videosharing-embed.min',
    'ng-file-upload': 'libs/ng-file-upload/dist/ng-file-upload',
    'jquery': 'libs/jquery/dist/jquery.min',
    'leaflet': 'libs/leaflet/dist/leaflet',
    'malihu-custom-scrollbar': 'libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min',
    'md-color-picker': 'libs/md-color-picker/dist/mdColorPicker.min',
    'ng-scrollbars': 'libs/ng-scrollbars/dist/scrollbars.min',
    'noty': 'libs/noty/js/noty/packaged/jquery.noty.packaged.min',
    'rangy-core': 'libs/rangy/rangy-core.min',
    'rangy-selectionsaverestore': 'libs/rangy/rangy-selectionsaverestore.min',
    'sails-io': 'libs/sails.io.js/sails.io',
    'socket-io': '//cdn.socket.io/socket.io-1.4.5',
    'textAngular': 'libs/textAngular/dist/textAngular',
    'textAngular-sanitize': 'libs/textAngular/dist/textAngular-sanitize.min',
    'textAngularSetup': 'libs/textAngular/dist/textAngularSetup',
    'tinycolor': 'libs/tinycolor/dist/tinycolor-min',
    'ui-leaflet': 'libs/ui-leaflet/dist/ui-leaflet.min',
    'ui-leaflet-layers': 'libs/ui-leaflet-layers/dist/ui-leaflet-layers.min',
    'app': 'js/admin/app'
  },
  packages: [
    'js/common', 'js/admin/main', 'js/admin/login', 'js/admin/customers',
    'js/admin/users', 'js/admin/organizations','js/admin/dashboards', 'js/admin/datasets',
    'js/admin/categories', 'js/admin/customviews'
  ],
  shim: {
    'app': [
      'jquery', 'angularAMD', 'socket-io', 'sails-io',
      'js/common', 'js/admin/main', 'js/admin/login', 'js/admin/customers',
      'js/admin/users', 'js/admin/organizations', 'js/admin/datasets', 'js/admin/dashboards',
      'js/admin/categories', 'js/admin/customviews',
      'angular-translate-loader-static-files'
    ],
    'angular': ['jquery'],
    'angular-animate': ['angular'],
    'angular-aria': ['angular'],
    'angular-bootstrap': ['angular', 'bootstrap', 'angular-animate'],
    'angular-cookies': ['angular'],
    'angular-loading-bar': ['angular', 'angular-animate'],
    'angular-file-upload': ['angular'],
    'angular-material': ['angular', 'angular-aria', 'angular-animate', 'angular-messages'],
    'angular-material-data-table' :['angular-material'],
    'angular-messages': ['angular'],
    'angular-resource': ['angular'],
    'angular-translate': ['angular'],
    'angular-translate-loader-static-files': ['angular-translate'],
    'angular-sanitize': ['angular'],
    'angular-simple-logger': ['angular'],
    'angular-ui-router': ['angular'],
    'angularAMD': ['angular'],
    'malihu-custom-scrollbar': ['jquery'],
    'md-color-picker': ['angular', 'angular-cookies', 'tinycolor'],
    'ng-scrollbars': ['angular', 'malihu-custom-scrollbar'],
    'ng-file-upload': ['angular'],
    'ng-videosharing-embed': ['angular'],
    'noty': ['jquery'],
    'rangy-selectionsaverestore': ['rangy-core'],
    'textAngular': ['angular', 'textAngularSetup'],
    'textAngular-sanitize': ['angular'],
    'textAngularSetup': ['angular'],
    'ui-leaflet': ['leaflet', 'angular', 'angular-simple-logger'],
    'ui-leaflet-layers': ['ui-leaflet']
  },
  deps: ['app']
});

require(['tinycolor', 'rangy-core', 'rangy-selectionsaverestore'], function(tinycolor, rangyCore) {
  window.tinycolor = tinycolor;
  window.rangy = rangyCore;
});

require(['socket-io', 'sails-io'], function(socketio, SailsIOClient) {
  window.io = SailsIOClient(socketio);
});

Routes Config:

'use strict';

define(['angularAMD', './controllers'], function(angularAMD, controllers) {
  var mod = angular.module('kdi.admin.main.routes', []);
  mod.config(function($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider) {

    $urlMatcherFactoryProvider.strictMode(false);
    // $urlRouterProvider.when('', '/');
    $urlRouterProvider.otherwise('/notfound');
    $stateProvider
      .state('admin', {
        url: '/admin',
        abstract: true,
        views: {
          header: {
            controller: controllers.HeaderCtrl,
            templateUrl: '/views/admin/header.html'
          },
          'left-menu': {
            controller: controllers.LeftMenuCtrl,
            templateUrl: '/views/admin/left-menu.html'
          }
        }
      })
      .state('admin.main', {
        url: '/',
        views: {
          'body@': {
            controller: controllers.BodyCtrl,
            templateUrl: '/views/admin/body.html'
          }
        }
      })
      .state('admin.forbidden', {
        url: '/forbidden',
        views: {
          'body@': {
            templateUrl: '/views/admin/forbidden.html'
          }
        }
      });
  });
  return mod;
});
christopherthielen commented 7 years ago

I know very little about requireJS. Try adding exports: 'angular' to your angular shim.
https://github.com/christopherthielen/angular-require-uiRouter

    shim: {
        'angular': { exports: 'angular' },
        'angular-ui-router': ['angular']
    },
rogerrayner commented 6 years ago

I have the same problem. Did you solve it?

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

This does not mean that the issue is invalid. Valid issues may be reopened.

Thank you for your contributions.