الفرق بين المراجعتين ل"Bootstrap/webpack"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
 
سطر 8: سطر 8:
 
import 'bootstrap';
 
import 'bootstrap';
 
</syntaxhighlight>يمكنك بدلا من ذلك '''استيراد المُلحقات Plugins''' حسب الحاجة:<syntaxhighlight lang="javascript">
 
</syntaxhighlight>يمكنك بدلا من ذلك '''استيراد المُلحقات Plugins''' حسب الحاجة:<syntaxhighlight lang="javascript">
import 'bootstrap/js/dist/util';  
+
import 'bootstrap/js/dist/util';
import 'bootstrap/js/dist/dropdown';
+
import 'bootstrap/js/dist/alert';
 +
...
 
</syntaxhighlight>يعتمد Bootstrap على [[jQuery]] و [https://popper.js.org/ Popper] المُعرَّفة على أنها <code>peerDependencies</code>، بمعنى أنه يجب عليك التأكد من إضافة الاثنين إلى الملف <code>package.json</code> بالأمر:<syntaxhighlight lang="shell">
 
</syntaxhighlight>يعتمد Bootstrap على [[jQuery]] و [https://popper.js.org/ Popper] المُعرَّفة على أنها <code>peerDependencies</code>، بمعنى أنه يجب عليك التأكد من إضافة الاثنين إلى الملف <code>package.json</code> بالأمر:<syntaxhighlight lang="shell">
 
npm install --save jquery popper.js
 
npm install --save jquery popper.js
</syntaxhighlight>'''تنبيه:''' قد تحتاج إن اخترت '''استيراد مُلحقات على حدة''' إلى تثبيت [https://github.com/webpack-contrib/exports-loader exports-loader].
+
</syntaxhighlight>
 
 
 
== استيراد التنسيقات ==
 
== استيراد التنسيقات ==
  
سطر 23: سطر 23:
 
@import "~bootstrap/scss/bootstrap";
 
@import "~bootstrap/scss/bootstrap";
 
</syntaxhighlight>تأكّد من تثبيت المُحمِّلات (Loaders) المطلوبة واستخدامها لكي يُجمَّع Bootstrap، وهي: [https://github.com/webpack-contrib/sass-loader sass-loader] و [https://github.com/postcss/postcss-loader postcss-loader] مع [https://github.com/postcss/autoprefixer#webpack Autoprefixer]. تحوي إعدادات Webpack الدنيا القاعدة التاليّة أو ما يشبهها:<syntaxhighlight lang="sass">
 
</syntaxhighlight>تأكّد من تثبيت المُحمِّلات (Loaders) المطلوبة واستخدامها لكي يُجمَّع Bootstrap، وهي: [https://github.com/webpack-contrib/sass-loader sass-loader] و [https://github.com/postcss/postcss-loader postcss-loader] مع [https://github.com/postcss/autoprefixer#webpack Autoprefixer]. تحوي إعدادات Webpack الدنيا القاعدة التاليّة أو ما يشبهها:<syntaxhighlight lang="sass">
  ...
+
...
  {
+
{
    test: /\.(scss)$/,
+
  test: /\.(scss)$/,
    use: [{
+
  use: [{
      loader: 'style-loader', // inject CSS to page
+
    loader: 'style-loader', // inject CSS to page
    }, {
+
  }, {
      loader: 'css-loader', // translates CSS into CommonJS modules
+
    loader: 'css-loader', // translates CSS into CommonJS modules
    }, {
+
  }, {
      loader: 'postcss-loader', // Run post css actions
+
    loader: 'postcss-loader', // Run postcss actions
      options: {
+
    options: {
        plugins: function () { // post css plugins, can be exported to postcss.config.js
+
      plugins: function () { // postcss plugins, can be exported to postcss.config.js
          return [
+
        return [
            require('precss'),
+
          require('autoprefixer')
            require('autoprefixer')
+
        ];
          ];
 
        }
 
 
       }
 
       }
     }, {
+
     }
      loader: 'sass-loader' // compiles Sass to CSS
+
  }, {
    }]
+
    loader: 'sass-loader' // compiles Sass to CSS
  },
+
  }]
  ...
+
},
 +
...
 
</syntaxhighlight>
 
</syntaxhighlight>
  
سطر 64: سطر 63:
  
 
== مصادر ==
 
== مصادر ==
* صفحة [https://getbootstrap.com/docs/4.0/getting-started/webpack/ Webpack] في توثيق Bootstrap.
+
* صفحة [https://getbootstrap.com/docs/4.5/getting-started/webpack/ Webpack] في توثيق Bootstrap.
 
[[تصنيف:Bootstrap|{{SUBPAGENAME}}]]
 
[[تصنيف:Bootstrap|{{SUBPAGENAME}}]]
 
[[تصنيف:Bootstrap Getting Started|{{SUBPAGENAME}}]]
 
[[تصنيف:Bootstrap Getting Started|{{SUBPAGENAME}}]]
 
[[تصنيف:Webpack|{{SUBPAGENAME}}]]
 
[[تصنيف:Webpack|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 13:12، 13 يوليو 2020

تعلّم كيف تُضمّن Bootstrap في مشروعك باستخدام Webpack 3.

تثبيت Bootstrap

استخدم npm لتثبيت Bootstrap بصيغة وِحدة Node.js.

استيراد JavaScript

استورد ملفات JavaScript في Bootstrap بإضافة السطر التالي إلى مَدخَل تطبيقك (عادة index.js أو app.js)

import 'bootstrap';

يمكنك بدلا من ذلك استيراد المُلحقات Plugins حسب الحاجة:

import 'bootstrap/js/dist/util';
import 'bootstrap/js/dist/alert';
...

يعتمد Bootstrap على jQuery و Popper المُعرَّفة على أنها peerDependencies، بمعنى أنه يجب عليك التأكد من إضافة الاثنين إلى الملف package.json بالأمر:

npm install --save jquery popper.js

استيراد التنسيقات

استيراد ملفات Sass المُجمَّعة مسبقًا

اجعل الملفات المصدرية جزءًا من عملية الإنشاء في مشروعك للاستفادة القصوى من Bootstrap وتخصيصه حسب احتياجاتك.

أنشئ أولًا الملف ‎_custom.scss واستخدمه لإبطال الخيارات المبدئية؛ ثم استخدم ملف Sass الأساسي لاستيراد متغيّراتك المخصَّصة متبوعة بإطار العمل Bootstrap:

@import "custom"; 
@import "~bootstrap/scss/bootstrap";

تأكّد من تثبيت المُحمِّلات (Loaders) المطلوبة واستخدامها لكي يُجمَّع Bootstrap، وهي: sass-loader و postcss-loader مع Autoprefixer. تحوي إعدادات Webpack الدنيا القاعدة التاليّة أو ما يشبهها:

...
{
  test: /\.(scss)$/,
  use: [{
    loader: 'style-loader', // inject CSS to page
  }, {
    loader: 'css-loader', // translates CSS into CommonJS modules
  }, {
    loader: 'postcss-loader', // Run postcss actions
    options: {
      plugins: function () { // postcss plugins, can be exported to postcss.config.js
        return [
          require('autoprefixer')
        ];
      }
    }
  }, {
    loader: 'sass-loader' // compiles Sass to CSS
  }]
},
...

استيراد ملفات CSS المُجمَّعة

يمكن كذلك استخدام ملفات CSS الجاهزة للاستخدام من Bootstrap بسهولة وذلك بإضافة السطر التالي إلى مدخل التطبيق:

import 'bootstrap/dist/css/bootstrap.min.css';

يمكن في هذه الحالة استخدام قاعدة CSS موجودة سلفًا بدون تغييرات خاصّة على إعدادات Webpack، باستثناء أنه لا حاجة لاستخدام sass-loader، فقط style-loader و css-loader.

 ...
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      }
    ]
  }
  ...

مصادر

  • صفحة Webpack في توثيق Bootstrap.