2016-04-21 11 views
17

Attualmente ho alcuni componenti di reazione & sass che vengono creati con successo con il webpack. Ho anche un file sass principale che costruisce in css con un compito gulp.Posso creare sass/less/css nel webpack senza averli richiesti nel mio JS?

Mi piacerebbe solo utilizzare una di queste tecnologie, è possibile compilare semplicemente sass in css senza un requisito associato al sass in un file di ingresso?

Ecco un esempio cercando di utilizzare WebpackExtractTextPlugin

webpack.config.js

entry_object[build_css + "style.css"] = static_scss + "style.scss"; 
module.exports = { 
    entry: entry_object, 
    output: { 
    path: './', 
    filename: '[name]' 
    }, 
{ 
    test: /\.scss$/, 
    include: /.scss$/, 
    loader: ExtractTextPlugin.extract("style-loader", "css!sass") 
} 
    plugins: [ 
    new ExtractTextPlugin("[name]") 
    ] 

dopo l'esecuzione webpack, l'attività style.css assomiglia a questo:

/******/ (function(modules) { // webpackBootstrap 
/******/ // The module cache 
/******/ var installedModules = {}; 
/******/ 
/******/ // The require function 
/******/ function __webpack_require__(moduleId) { 

... 
+0

si sta andando ad avere bisogno di webpack o gulp per transpile sass ai CSS, una delle mis abbastanza, è che quello che stai chiedendo? – QoP

+1

Si tratta di una limitazione di qualche tipo? Di solito ho un file di indice che importa tutte le mie cose relative allo stile. – azium

+2

Sembra che questo sia quello che stai cercando anche se https://github.com/peerigon/extract-loader#examples – azium

risposta

4

Ho risolto questo con l'aiuto di @bebraw

Come ha affermato nel suo commento, webpack creerà un file javascript fittizio come seguito dal pattern nel file output.filename quando si utilizza ExtractTextPlugin. Poiché stavo impostando il file di output di ExtractTextPlugin esattamente come il nome in output.filename, si limitava a emettere il file javascript. Assicurandomi che il nome del file output.filename e ExtractTextPlugin siano diversi, sono riuscito a caricare splendidamente il mio sass in css.

Ecco l'esempio finale dei webpack.config.js

entry_object[build_css + "style"] = static_scss + "style.scss"; 
module.exports = { 
    entry: entry_object, 
    output: { 
    path: './', 
    filename: '[name]' 
    }, 
{ 
    test: /\.scss$/, 
    include: /.scss$/, 
    loader: ExtractTextPlugin.extract("style-loader", "css!sass") 
} 
    plugins: [ 
    new ExtractTextPlugin("[name].css") 
    ] 
+0

Puoi mostrarmi il tuo '' webpack.config.js''? Sono piuttosto bloccato su questo. –

+0

il mio webpack config è lo snippit che pubblico –

Problemi correlati