मुझे जोड़ने resolve-url-loader
और सक्षम करने के लिए जो काम किया गया थाsourceMaps
मैंने अपनी रूट .scss
फ़ाइल में पहले से ही फ़ॉन्ट-भयानक आयात कर लिया है :
@import "~font-awesome/scss/font-awesome";
...
इस रूट फाइल को main.js
वेबपैक के एंट्रीपॉइंट के रूप में परिभाषित मेरी फाइल में आयात किया गया है :
import './scss/main.scss';
...
तब मेरे अंतिम वेबपैक मॉड्यूल नियम ऐसे दिखते हैं:
...
{
test: /\.(sa|sc|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
{ loader: 'postcss-loader', options: { sourceMap: true }, },
'resolve-url-loader',
{ loader: 'sass-loader', options: { sourceMap: true }, },
],
}, {
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: { limit: 1000, name: 'fonts/[name].[ext]', },
}
...
ध्यान दें:
मैंने उपयोग किया mini-css-extract-plugin
, जिसे इस तरह पंजीकृत किया जा सकता है:
new MiniCssExtractPlugin({
filename: 'css/main.css',
chunkFilename: '[id].[hash]',
}),
url-loader
file-loader
स्थापित करने की आवश्यकता है, इसलिए यदि आपको कोई त्रुटि मिलती है जैसे:, cannot find module file-loader
तो बस इसे स्थापित करें:
npm i -D file-loader
उपयोगी लिंक :
https://github.com/webpack/webpack/issues/2771#issuecomment-277514138
https://github.com/rails/webpacker/issues/384#issuecomment-3013184-4
../../node_modules/font-awesome/fonts/fontawesome-webfont.eot
?