[開発環境]webpack(7)

6520 ワード

Sass


SassはCSSの欠点を補ったCSSの拡張と考えられる.
ただし、ブラウザではSassを認識できないため、css(変換ファイル)に変換する必要があります.Webパッケージと一緒に使用する場合は、以下のパッケージをインストールする必要があります.$ npm i -D sass sass-loaderSassは2006年にRubyとして開発され、その後Ruby SassをC++のLibass、Nodeと位置づけた.js環境では,Libassを利用できるnode-sassなど多様な移植バージョンが出現している.Sassは最近Dart Sassとして再実現された.LibsssまたはNode-Sassは現在メンテナンス中ですが、廃止されているのでDart Sassを使用します.

伝播の一生性をテストする

// app.js:
import './style.scss';

let myFirstPromise = new Promise((resolve, reject) => {
    // We call resolve(...) when what we were doing asynchronously was successful, and reject(...) when it failed.
    // In this example, we use setTimeout(...) to simulate async code.
    // In reality, you will probably be using something like XHR or an HTML5 API.
    setTimeout(function(){
      resolve("Success!"); // Yay! Everything went well!
    }, 5000);
});


myFirstPromise.then((successMessage) => {
    // successMessage is whatever we passed in the resolve(...) function above.
    // It doesn't have to be a string, but if it is only a succeed message, it probably will be.
    console.log("Yay! " + successMessage);
});
// style.scss:
$body-color: red;

body {
    color: $body-color;
}

Webパッケージ設定ファイルと結果

// webpack.config.js:
module.exports = {
  module: {
    rules: [
      {
        test: /\.(s[ac]ss|css)$/, // sass(scss), css 확장자로 끝나는 모든 파일을 의미
        use: [
          process.env.NODE_ENV === "production"
          ? MiniCssExtractPlugin.loader
          : "style-loader",
          "css-loader",
          "sass-loader"
        ],
      },
    ],
  },
}

  • 以前に設定したWebパッケージプロファイルに、アレイに最後にインストールされたsass-loaderを追加し、条件にs[ac]ssを追加します.

  • Webパッケージがsassファイルを読み込んだ場合、sass-loaderを実行してcssに変換できます.


  • Reference


  • https://poiemaweb.com/sass-basics

  • https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise