2017-09-13 2 views
1

Je reçois cette erreur lors de l'exécution de ma build.Webpack sass-loader CSS invalide

Invalid CSS after "module.exports": expected "{", was '= "data:text/x-scss' 

J'ai aussi essayé d'utiliser une configuration webpack JS vanille et obtenir la même erreur, il est donc pas la config dactylographiée. En outre essayé extract-text-webpack-plugin mais obtenez la même erreur. L'application actuelle fonctionne bien, mais n'a évidemment pas de CSS. Voici la config.

import * as path from 'path'; 
import * as webpack from 'webpack' 

const config: webpack.Configuration = { 
    entry: { 
     app: ['./js/main.ts'] 
    }, 
    output: { 
     path: path.resolve(__dirname, './dist/js'), 
     filename: '[name].js' 
    }, 
    module: { 
     rules:[ 
      { 
       test: /\.html$/, 
       loader: 'ngtemplate-loader?prefix=/&module=app&relativeTo=' + (path.resolve(__dirname, './js/app')) + '/!html-loader' 
      }, 
      { 
       test: /\.ts$/, 
       loader: 'awesome-typescript-loader' 
      }, 
      { 
       test: /\.(sass|scss|ttf|svg|woff)$/, 
       use: [{ 
        loader: "style-loader" 
       }, { 
        loader: "css-loader" 
       }, { 
        loader: "sass-loader", 
       }, { 
        loader: "url-loader" 
       }] 
      } 
     ] 
    } 
} 

export default config 

Et voici l'extrait du fichier sass principal.

@import "utilities/variables"; 
@import "utilities/animations"; 
@import "utilities/helpers"; 

Ce qui est importé dans le fichier de l'application principale avec:

import '../sass/sass.scss'; 

Répondre

2

Je pense que l'erreur est parce que vous utilisez pour url-loaderSass fichiers en quelque sorte. Divisez votre règle webpack.config pour (sass|scss|ttf|svg|woff) afin qu'elle ressemble à ceci:

{ 
    test: /\.(ttf|svg|woff)$/, 
    use: [{ 
    loader: "url-loader" 
    }] 
}, 
{ 
    test: /\.(sass|scss)$/, 
    use: [{ 
    loader: "style-loader" 
    }, { 
    loader: "css-loader" 
    }, { 
    loader: "sass-loader", 
    }] 
}