Warum bin ich nicht in der Lage zu kompilieren SASS mit Webpack?

Habe ich die folgenden Module, die in meinem Webpack config:

module: {
    preLoaders: [
      {
        test: /\.vue$/,
        loader: 'eslint',
        include: projectRoot,
        exclude: /node_modules/
      },
      {
        test: /\.js$/,
        loader: 'eslint',
        include: projectRoot,
        exclude: /node_modules/
      }
    ],
    loaders: [
      {
        test: /\.vue$/,
        loader: 'vue'
      },
      {
        test: /\.js$/,
        loader: 'babel',
        include: projectRoot,
        exclude: /node_modules/
      },
      {
        test: /\.json$/,
        loader: 'json'
      },
      {
        test: /\.html$/,
        loader: 'vue-html'
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url',
        query: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[hash:7].[ext]')
        }
      },
      {
        test: /\.scss$/,
        loaders: ['style', 'css', 'sass']
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url',
        query: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
        }
      }
    ]
  },

Können Sie sehen, dass ich mit sass-loader, und für *.scss-Dateien, die ich bin, die dieses pipeline: ['style', 'css', 'sass'].

Dann habe ich meine scss-Datei:

html {
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

(...)

Endlich habe ich meine HTML-Seite (in einer VUE-Datei aus vue.js), die Importe, die scss-Datei:

<script>

require('./styles/main.scss')

(...)

</script>

Aber irgendwie bekomme ich diesen Fehler beim ausführen des Projekts:

ERROR in ./~/css-loader!./~/sass-loader!./~/style-loader!./~/css-loader!./~/sass-loader!./src/styles/main.scss
Module build failed:
html {
^
      Invalid CSS after "...load the styles": expected 1 selector or at-rule, was "var content = requi"
      in /Users/td/uprank/src/styles/main.scss (line 1, column 1)
 @ ./src/styles/main.scss 4:14-247 13:2-17:4 14:20-253

Warum ist es immer die pipeline falsch? (Es erscheint webpack zu verarbeiten versucht ['css', 'sass', 'style', 'css', 'sass'] statt nur ['style', 'css', 'sass'] konfigurierten Module.

Was mache ich falsch?

Dank!

EDIT: Link, um den vollständigen Beispiel-Projekt: https://dl.dropboxusercontent.com/u/1066659/dummy.zip

  • require('./styles/main.scss') sollte nicht in <script> tag. stattdessen sollte es drin sein <style lang="sass"></style> mit sass import-syntax.
  • Ich kompiliert nun ohne Anzeige-Fehler. Aber die CSS wird nicht gerendert werden in die resultierende Seite (D. H. nicht immer in der html).
  • Ich habe einen link auf das komplette Projekt.
InformationsquelleAutor PedroD | 2016-05-04
Schreibe einen Kommentar