2016-04-21 8 views
17

Obecnie mam pewne komponenty reagujące & sass, które zostały pomyślnie zbudowane za pomocą pakietu internetowego. Mam również główny plik sass, który buduje do css z zadaniem łyk.Czy mogę zbudować sass/less/css w webpoincie bez konieczności ich w moim JS?

Chciałbym tylko użyć jednej z tych technologii, czy można po prostu skompilować sass do css bez skojarzonego żądania do sass w pliku wejściowym?

Oto przykład próbuje użyć 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]") 
    ] 

po uruchomieniu WebPACK, składnik style.css wygląda następująco:

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

... 
+0

będziesz potrzebować WebPACK lub łykać do transpile Sass CSS, jeden z mis tyle, że to, co prosicie? – QoP

+1

Czy to jakieś ograniczenie? Zwykle mam jakiś plik indeksu, który importuje wszystkie moje rzeczy związane z stylem. – azium

+2

Wygląda na to, czego szukasz, mimo że https://github.com/peerigon/extract-loader#examples – azium

Odpowiedz

4

I rozwiązać ten z pomocą @bebraw

Jak stwierdził w swoim komentarzu, webpack utworzy obojętny plik javascript, a następnie wzorzec w pliku output.filename podczas korzystania z ExtractTextPlugin. Ponieważ ustawiałem plik wyjściowy ExtractTextPlugin na dokładnie taki sam, jak nazwa pliku output.filename, tylko wyprowadzał plik javascript. Upewniając się, że nazwa pliku wyjściowego nazwa_pliku i nazwa pliku wyjściowego ExtractTextPlugin są różne, mogłem pięknie załadować mój sass do css.

Oto ostateczny przykładem 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

Czy możesz pokazać mi swojego '' webpack.config.js''? Trochę utknąłem na tym. –

+0

moja konfiguracja Webpack to snippit, który publikuję –