2017-02-25 1 views
0

J'ai commencé avec un modèle de this extension pour avoir un point de départ angular2 + .net core en cours d'exécution. Je ne voulais pas utiliser boostrap, mais materialize-css, alors j'ai enlevé le paquet d'amorçage dans package.json, au lieu que j'ajouté "materialize-css": "0.98.0",WebPack dans VS2015: Comment configurer un nouveau pack?

J'édité le webpack.config.vendor.js, j'ai enlevé bootstrap et ajouté à la liste materialize-css « vendeur ».

Ensuite, j'ai tout reconstruit, mais il semble que materialize-css n'est toujours pas présent (ne peut pas trouver ses classes css). J'ai essayé d'effacer le cache du navigateur, j'ai même essayé de l'ouvrir sur un tout nouveau navigateur (edge), mais toujours pas de classes materialise-css.

Qu'est-ce que j'ai manqué?

EDIT

Actuellement, ma liste des fournisseurs est la suivante:

vendor: [ 
     '@angular/common', 
     '@angular/compiler', 
     '@angular/core', 
     '@angular/http', 
     '@angular/platform-browser', 
     '@angular/platform-browser-dynamic', 
     '@angular/router', 
     '@angular/platform-server', 
     'angular2-universal', 
     'angular2-universal-polyfills', 
     'materialize-css', 
     'es6-shim', 
     'es6-promise', 
     'jquery', 
     'zone.js', 
    ] 

Répondre

0

Vous correctement tout faire, il suffit de faire une chose un peu différemment. Dans votre webpack.config.vendor.js, au lieu de materialize-css, ajouter materialize-css/dist/css/materialize.css au tableau vendor:

... 
entry: { 
    vendor: { 
     ... 
     'materialize-css/dist/css/materialize.css', 
     ... 
    } 
} 

Cela comprendra le css à votre paquet résultant. Si vous avez également besoin de polices et js de materialize-css, vous devrez configurer les chargeurs appropriés, voir https://www.npmjs.com/package/materialize-loader

+0

Ok, mais je ne comprends pas, j'ai aussi par exemple jquery qui est chargé et fonctionne, et je Je n'ai qu'à indiquer que je veux avoir "jquery". et ça marche, je pensais que ça allait à 'bower.json' du module spécifié et que je vérifiais ce qui était requis, et si je vérifie pour materialize, j'ai le" bin/materialize.css attendu et bin/materialize. js ". C'est bizarre de devoir me spécifier le chemin complet du css, car si l'auteur du paquet change sa structure, cela ne fonctionnera plus. Alors pourquoi ça marche pour jquery, mais pas matérialiser-css? – J4N

+0

Ce n'est pas bizarre, en fait, c'est exactement comme cela que bootstrap est référencé dans l'original ASP.NET Core Template Pack - https://github.com/ligershark/CoreTemplatePack/blob/master/Templates/AspNetCoreAngular2/webpack. config.vendor.js # L30 jQuery est une bibliothèque JS, pas CSS, elle est recherchée automatiquement dans le dossier node_modules. Les fichiers CSS, cependant, doivent être référencés manuellement. – m1kael

+0

Oh je vois, donc si je dois charger le JS et le css? Je peux juste spécifier une fois 'materialize-css' et une fois' materialize-css/bin/materialize.css'? Comment sait-il quel fichier js charger? – J4N