如何将CSS文件添加到webpack,以便可以在Angular2 SPA中使用它们

时间:2016-11-22 14:41:52

标签: angular asp.net-core webpack single-page-application devextreme

我正在尝试基于Visual Studio 2015中的ASPNETCORE-SPA模板创建一个Angular 2 SPA应用程序。

我也在尝试使用DevExpress的商业DevExtreme小部件。

我已经设法在HTML中创建窗口小部件,但CSS没有得到应用,我怀疑这是因为我没有正确地在Webpack配置中包含CSS而没有在HTML / CSHTML文件中正确加载它。

我是这些技术的新手,在查看了webpack之后,一直无法让CSS正常工作。

到目前为止,我添加了以下几行:

import '../node_modules/devextreme/dist/css/dx.common.css';
import '../node_modules/devextreme/dist/css/dx.light.css';
import '../node_modules/devextreme/dist/css/dx.spa.css';

进入我的main.ts文件,因为这是webpack.config的入口点中的文件:

entry: {
    'main': './Client/main.ts'
},

我已将css规则添加到webpack.config.js文件中:

    { test: /\.css$/, loader: extractCSS.extract(['css']) },

但是我收到了错误:

Error: Module 'e:\sources\angular2-3\Application\Error: Module 'e:\sources\angular2-3\Application\node_modules\css\index.js' is not a loader (must have normal or pitch function).

然后我引用了以下按钮:

  <dx-button text="some text"></dx-button>

有人可以给我任何关于我出错的地方吗?

有没有办法查看CSS是否正确打包?

1 个答案:

答案 0 :(得分:4)

最简单的方法是将css引用添加到 webpack.config.vendor.js vendor 部分,如下所示:

entry: {
    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',
        'bootstrap',
        'bootstrap/dist/css/bootstrap.css',
        'es6-shim',
        'es6-promise',
        'jquery',
        'zone.js',
        'devextreme',
        'devextreme-angular',
        'devextreme/dist/css/dx.common.css',
        'devextreme/dist/css/dx.light.css',
    ]
},

在这种情况下,您不需要使用 import 指令。