2016-04-27 6 views
2

Ich baue .SASS in eine .CSS-Datei mit Webpack, aber es exportiert nur die Datei, wenn ich "webpack" im Terminal. Als ich „webpack-dev-Server“ ausführen, um die Änderungen sieht sich aber nicht erzeugen/die Ausgabe .CSS Datei ändern:Webpack-dev-Server - .CSS-Datei bei Änderung exportieren

var webpack = require('webpack'); 
var path = require('path'); 
const ExtractTextPlugin = require('extract-text-webpack-plugin'); 
const autoprefixer = require('autoprefixer'); 

module.exports = { 
    devtool: 'inline-source-map', 
    entry: [ 
     'webpack-dev-server/client?http://127.0.0.1:8080/', 
     'webpack/hot/only-dev-server', 
     './src' 
    ], 
    output: { 
     path: path.join(__dirname, 'public'), 
     filename: 'bundle.js', // this exports the final .js file 
     publicPath: '/public' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /node_modules/, 
       loaders: ['react-hot', 'babel?presets[]=react,presets[]=es2015'] 
      }, 

      { 
       test: /\.scss$/, loader: ExtractTextPlugin.extract('css!sass') // this loads SASS 
      } 

     ] 
    }, 

    plugins: [ 
     new webpack.HotModuleReplacementPlugin(), 
     new webpack.NoErrorsPlugin(), 
     new ExtractTextPlugin("./bundle.css") //this exports the CSS file 
    ], 

    resolve: { 
     modulesDirectories: ['node_modules', 'src'], 
     extensions: ['', '.js', '.scss'], 
     root: [path.join(__dirname, './src')] 
    } 
}; 

Es ist mit völlig in Ordnung funktioniert einfach „webpack“ aber ich frage mich, wie man es machen erzeuge die Datei über den Server, so dass ich nicht jedes Mal das Terminal eingeben muss, wenn ich die Stile ändere.

+0

'webpack-dev-server' Dateien erzeugt und dient dazu, aus dem Speicher, nicht aus dem Dateisystem. –

+0

Sie müssen 'style-loader' zu ExtractTextPlugin hinzufügen:' ExtractTextPlugin.extract ('style', 'css! Sass') ' –

+0

Hmm, es rendert die Datei aber nicht in das Verzeichnis. Hier ist ein Screenshot des Terminals: http://i.imgur.com/OJGrpKY.png –

Antwort

-1

Das ist völlig in Ordnung. webpack-dev-server schreibt nicht auf die Festplatte. Es dient nur aus dem Speicher. Aus diesem Grunde Terminal zeigt:

Project is running at http://localhost:9000/ webpack output is served from/ Content not from webpack is served from /Users/dd/Desktop/apps/webpack-starter/dist

Verwandte Themen