webpackを使用してcssスプライトを生成する方法を教えてください
Teach You How Use Webpack Generate Css Sprites
序文
Webサイトを開発するときは、通常、一般的に使用されるアイコンをcssスプライトに結合します。これにより、サイトからのhttpリクエストの数を効果的に減らし、Webサイトのパフォーマンスを向上させることができます。
使い方を見てみましょう。| _ + _ |スプライト図をマージします。
準備ができました
webpack
webpack
プラグインwebpack-spritesmith
file-loader
(sass-loader
スプライトを生成するだけでなく、対応するwebpack-spritesmith
を生成するので非常に便利なので使用してくださいmixin
)- ここでも使用しました。
sass
cssファイルを抽出するために、これは必要ありません。使用することもできます。必要な場合は、インストールする必要があります。ExtractTextPlugin
このプラグイン
npmを使用して上記をインストールします
以下からパフォーマンスを開始してください
ステップ1:マージするアイコンを準備し、srcの下のicoフォルダーの下に置きます
便利なアイコンダウンロードサイトをご紹介します。中のアイコンスタイルが好きで、無料です。この演習で使用するアイコンをダウンロードすることもできます。
これは私がダウンロードしたpng画像です。
フェイスブック
ツイッター
グーグル
Step2はwebpack.config.jsに次のように記述されています
extract-text-webpack-plugin
ステップ3 const path = require('path') const SpritesmithPlugin = require('webpack-spritesmith') module.export = { // ... module: { rules: [ { test: /png$/ loader:[ 'file-loader?name=i/[hash].[ext]' ] }, { test: /.(css|scss)$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: ['css-loader', 'postcss-loader', 'sass-loader'] }) } ] }, resolve: { modules: [ 'node_modules', 'assets/sprite' // Where can css find sprite maps? ] }, plugins: [ new SpritesmithPlugin({ src: { cwd: path.resolve(__dirname, 'src/ico'), / / Prepare to merge into a sprit image storage folder glob: '*.png' //What kind of picture }, target: { image: path.resolve(__dirname, 'src/assets/sprites.png'), // sprite image save path css: path.resolve(__dirname, 'src/assets/_sprites.scss') // Where is the generated sass saved? }, apiOptions: { cssImageRef: '~sprite.png' //css find the sprite map according to the guide } }) ] }Copy code
ファイル内scss
生成されたファイルをインポートする
@import
ステップ4webpackを実行して、スプライトマップがサイトで使用されていることを確認します。
/assets/sprite/sprite.pngは、生成したスプライトマップです。
同時に生成されたsassファイルを見てください
@import '../../../assets/sprite/_sprite.scss' //Please change your path .facebook{ @include sprite($facebook) } .twitter{ @include sprite($twitter) } .google{ @include sprite($google) }Copy code
最後に、サイトでのアプリのパフォーマンスを確認します。
総括する
さて、上記はwebpackがcsスプライトを生成する方法です。とても簡単ですか?この記事がお役に立てば、ぜひ気に入ってください。
この記事は、2017-10-3にZhangXiaodianによってNuggetsに掲載されました。出典を示してください。 元のリンク
参照
転載:https://juejin.im/post/59d2f80d6fb9a00a6a7466aa