2017-08-09 3 views
0

La version d'AngularCLI abandonne SystemJS en faveur de WebPack.Solution Webpack pour le mappage SystemJS

Cependant, SyncFusion n'a pas encore supporté WebPack dans sa bibliothèque EJ2 pour Angular. Ils instruisent à utiliser SystemJS à la carte

"@syncfusion/ej2-grids": "node_modules/@syncfusion/ej2-grids/dist/ej2-grids.umd.min.js", 
"@syncfusion/ej2-ng-grids": "node_modules/@syncfusion/ej2-ng-grids/dist/ej2-ng-grids.umd.min.js", 

dans ce tutoriel http://ej2.syncfusion.com/angular/documentation/grid/getting-started.html#configuring-system-js

Comment puis-je travailler autour de cette dépendance et le rendre compatible avec WebPack en attendant Syncfusion pour le soutenir?

Répondre

1

Même chose se fait en Webpack avec resolve.alias:

... 
resolve: { 
    alias: { 
    "@syncfusion/ej2-grids$": "@syncfusion/ej2-grids/dist/ej2-grids.umd.min.js", 
    ... 
} 

La raison pour laquelle les correspondances sont utilisés dans SystemJS est qu'un fichier UMD seul préconstruits peut être transféré au lieu de transfering et de construire des fichiers séparés. Ce n'est pas un problème pour Webpack. Alors que le module UMD peut accélérer un peu le processus, l'utilisation de modules ES6 dégroupés provenant d'un package (si disponible) permet d'utiliser l'agitation des arbres et peut réduire l'empreinte de l'application.

+0

J'ai essayé d'utiliser votre solution après que le projet est éjecté à l'aide "eject ng". Après que le projet a échoué à construire avec le message informe "" @ syncfusion/ej2-grids "pas trouvé – LxL

+0

Avez-vous eu des problèmes avec cela? Y at-il une raison pour laquelle vous avez décidé de remapper le module UMD bundle? Habituellement, il n'est jamais nécessaire dans Webpack pour les paquets correctement publiés, pour les raisons listées dans la réponse – estus

+0

Mon problème principal concerne le composant Grid dans le template qui n'a pas pu trouver les propriétés appelées datasource, groupsettings, allowgrouping qui ne sont pas déclarées dans GridComponent mais dans sa grille parernt La seule chose que j'ai ratée du tutoriel est la partie configure SystemJS qui n'existe pas lors de l'utilisation d'AngularCLI C'est pourquoi j'ai commencé à chercher l'alternative en utilisant Webpack – LxL

-2

Les composants JS2 Angular essentiels ont la prise en charge Webpack sans aucune solution de contournement. S'il vous plaît trouver l'extrait de code

var webpack = require('webpack'); 
module.exports = { 
entry: { 
    'app': './app/main.ts' 
}, 

resolve: { 
    extensions: ['.js'] 
}, 
output: { 
    path: __dirname + '/dist', 
    publicPath: '/', 
    filename: 'app.js', 
} 
}; 

échantillon webpack lien: https://github.com/Madhust/ej2-grid-angular-webpack

+0

Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [De l'avis] (/ review/low-quality-posts/16981760) –