আমার জন্য যা কাজ করেছিল তা হ'ল যুক্ত করা 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-301318904
../../node_modules/font-awesome/fonts/fontawesome-webfont.eot
?