اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

NextJS لا يدعم تمرير الاعدادات الى webpack مباشرة

يمكنك بدل من ذلك تمرير الدالة webpack وتعديل اعدادات webpack داخل ملف اعداد next.config.js 

module.exports = {
  webpack(config, { buildId, dev, isServer, defaultLoaders, webpack }) {
    config.module.rules[3].oneOf.forEach((moduleLoader, i) => {
      Array.isArray(moduleLoader.use) &&
        moduleLoader.use.forEach((l) => {
          if (
            l.loader.includes("\\css-loader") &&
            !l.loader.includes("postcss-loader")
          ) {
            const { getLocalIdent, ...others } = l.options.modules;

            l.options = {
              ...l.options,
              modules: {
                ...others,
                localIdentName: "[hash:base64:6]", // هنا يمكنك تخصيص الاسم
              },
            };
          }
        });
    });
    return config;
  },
};

 

  • 1
نشر

بالإضافة الى اجابة حسان, إذا كنت تريد تجزئة أسماء الفئات فقط في وضع production، فيمكنك استخدام process.env.NODE_ENV مع عبارة if. كالتالي

module.exports = {
  webpack(config, { buildId, dev, isServer, defaultLoaders, webpack }) {
    if (process.env.NODE_ENV === "production") {
      ...
      ...

      return config;
    } else {
      return config;
    }
  },
};

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...