Почему css-loader/style-loader выдает неожиданную ошибку символа #?

Я взял руководство по Webpack с Angular.io и начал обновление до Webpack 2 в соответствии с официальным и неофициальным руководством.

Я встретил ошибку ниже:

ОШИБКА в ./public/css/styles.css Ошибка синтаксического анализа модуля: DashboardDelivery.Host.Ui.Spa\public\css\styles.css Неожиданный символ '#' (3:16). Для обработки этого файла может потребоваться соответствующий загрузчик тип. | тело | { | фон: #0147A7; | цвет: #fff; | }

  • я не понимаю в чем проблема
  • если файл пустой, то выдает ошибку, где text.Foreach - неизвестная функция
  • если только пустое тело {} в файле css, тогда тело жалоб веб-пакета не определено

По сути, что бы я ни делал, всегда есть проблема, и персонаж, связанный с этим, очень странный. Что мне здесь не хватает?

webpack.common.js

var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var helpers = require('./helpers');

module.exports = {
    entry: {
        'polyfills': './src/app/polyfills.ts',
        'vendor': './src/app/vendor.ts',
        'app': './src/app/main.ts'
    },

    resolve: {
        extensions: ['.ts', '.js']
    },

    module: {
        rules: [
          {
              test: /\.ts$/,
              use: ['awesome-typescript-loader', 'angular2-template-loader']
          },
          {
              test: /\.html$/,
              use: 'html-loader'
          },
          {
              test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
              use: 'file-loader?name=assets/[name].[hash].[ext]'
          },
          {
              test: /\.css$/,
              exclude: helpers.root('src', 'app'),
              use: ExtractTextPlugin.extract(
                  {
                      fallbackLoader: 'style-loader',
                      loader: 'css-loader?sourceMap',
                      publicPath: "/dist"
                  })
          },
          {
              test: /\.css$/,
              include: helpers.root('src', 'app'),
              use: 'raw-loader'
          }
        ]
    },

    plugins: [
      new webpack.optimize.CommonsChunkPlugin({
          name: ['app', 'vendor', 'polyfills']
      }),

      new HtmlWebpackPlugin({
          template: 'src/index.html'
      }),

    ]
};

webpack.dev.js

var webpackMerge = require('webpack-merge');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var commonConfig = require('./webpack.common.js');
var helpers = require('./helpers');

module.exports = webpackMerge(commonConfig, {
    devtool: 'cheap-module-eval-source-map',

    output: {
        path: helpers.root('dist'),
        publicPath: 'http://localhost:8080/',
        filename: '[name].js',
        chunkFilename: '[id].chunk.js'
    },

    plugins: [
      new ExtractTextPlugin('[name].css')
    ],

    devServer: {
        historyApiFallback: true,
        stats: 'minimal'
    }
});

стиль.css

body 
{
    background: #0147A7;
    color: #fff;
}

person AndrasCsanyi    schedule 20.01.2017    source источник


Ответы (1)


После нескольких часов поиска ответа есть ответ... ExtractTextPlugin не работает с новым синтаксисом использования. Вот блог Я нашел предложение, и вот сообщение об ошибке тикет.

person AndrasCsanyi    schedule 21.01.2017