2017-02-25 60 views
0

我已经开始使用this extension的模板,以开始运行angular2 + .net core。我不想用boostrap,但materialize-css,所以我在package.json移去了自举包,而不是我加"materialize-css": "0.98.0",VS2015中的WebPack:如何配置新包?

然后我编辑的webpack.config.vendor.js,我删除引导并添加materialize-css到“供应商”名单。

然后我重建了一切,但似乎materialize-css仍然不存在(无法找到它的CSS类)。我试图清除浏览器缓存,甚至试图打开一个全新的浏览器(边缘),但仍然没有materialize-css类。

我错过了什么?

编辑

目前,我的供应商名单如下:

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', 
    ] 

回答

0

你做正确的一切,只是需要做的一件事情略有不同。在你webpack.config.vendor.js,而不是materialize-css,加materialize-css/dist/css/materialize.cssvendor阵列:

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

这将包括CSS您造成包。如果你还需要materialize-css中的字体和js,你需要配置合适的加载器,参见https://www.npmjs.com/package/materialize-loader

+0

好吧,但我不明白,我也通过例子jquery加载和工作,我我只想表明我想要“jquery”。它正在工作,我以为它会去指定模块的'bower.json',并检查需要什么,如果我检查物化,我有预期的“bin/materialize.css和bin/materialize。 JS”。奇怪的是必须指定自己的完整路径的css,因为如果包的作者改变其结构,它将不再工作。那么,为什么它为jQuery工作,但不实现 - CSS? – J4N

+0

这并不奇怪,事实上,这正是原始ASP.NET核心模板包中引用的引导程序 - https://github.com/ligershark/CoreTemplatePack/blob/master/Templates/AspNetCoreAngular2/webpack。 config.vendor.js#L30 jQuery是一个JS库,不是CSS,它自动在node_modules文件夹中查找。但是,CSS文件需要手动引用。 – m1kael

+0

哦,我明白了,所以如果我必须加载JS和CSS?我可以只指定一次'materialize-css'和一次'materialize -css/bin/materialize.css'?它如何知道要加载哪个js文件? – J4N