faguilera85
faguilera85

Reputation: 145

Angular2 + ag-Grid cannot load ag-grid-ng2/main.js (404 Not Found)

I'm trying to integrate ag-Grid with Angular2 but I'm stuck at following error:

zone.js:101 GET http://localhost:4200/node_modules/ag-grid-ng2/main.js 404 (Not Found)

I'm importing the third party component using:

import {AgGridNg2} from 'ag-grid-ng2/main';
...
directives: [AgGridNg2]

This is my system-config.ts file:

"use strict";

// SystemJS configuration file, see links for more information
// https://github.com/systemjs/systemjs
// https://github.com/systemjs/systemjs/blob/master/docs/config-api.md

/***********************************************************************************************
 * User Configuration.
 **********************************************************************************************/
/** Map relative paths to URLs. */
const map: any = {
  // ag libraries
  'ag-grid-ng2': 'node_modules/ag-grid-ng2',
  'ag-grid': 'node_modules/ag-grid',
  'ag-grid-enterprise' : 'node_modules/ag-grid-enterprise'
};

/** User packages configuration. */
const packages: any = {
  'ag-grid-ng2': {
    defaultExtension: "js"
  },
  'ag-grid': {
    defaultExtension: "js"
  },
  'ag-grid-enterprise': {
    defaultExtension: "js"
  }
};

////////////////////////////////////////////////////////////////////////////////////////////////
/***********************************************************************************************
 * Everything underneath this line is managed by the CLI.
 **********************************************************************************************/
const barrels: string[] = [
  // Angular specific barrels.
  '@angular/core',
  '@angular/common',
  '@angular/compiler',
  '@angular/forms',
  '@angular/http',
  '@angular/router',
  '@angular/platform-browser',
  '@angular/platform-browser-dynamic',

  // Thirdparty barrels.
  'rxjs',

  // App specific barrels.
  'app',
  'app/shared',
  'app/full-width-renderer',
  /** @cli-barrel */
];

const cliSystemConfigPackages: any = {};
barrels.forEach((barrelName: string) => {
  cliSystemConfigPackages[barrelName] = { main: 'index' };
});

/** Type declaration for ambient System. */
declare var System: any;

// Apply the CLI SystemJS configuration.
System.config({
  map: {
    '@angular': 'vendor/@angular',
    'rxjs': 'vendor/rxjs',
    'main': 'main.js'
  },
  packages: cliSystemConfigPackages
});

// Apply the user's configuration.
System.config({ map, packages });

I can see the dependency under the /node_modules/ag-grid-ng2 folder:

Any help is strongly appreciated.

Upvotes: 0

Views: 2001

Answers (1)

kdperspective
kdperspective

Reputation: 51

I haven't used the enterprise grid, but for using ag-grid with Angular 2 you will need to include this in the map section of your System.config:

'ag-grid': 'node_modules/ag-grid',
'ag-grid-ng2': 'node_modules/ag-grid-ng2'

Also make sure you have these modules in your node_modules package, else make sure to include these descriptions in your package.json and run 'npm install' first.

Upvotes: 2

Related Questions