Сенс використання CDN полягає в тому, що це швидше , по-перше, тому, що це розподілена мережа, а по-друге, тому, що статичні файли кешуються браузерами, і шанси вищі, ніж, наприклад, jquery
бібліотека CDN, що знаходиться на вашому веб-сайті Користувач уже завантажив браузер користувача, тому файл був кешований, тому не завантажується зайве. Незважаючи на це, це все-таки хороша ідея забезпечити резерв .
Тепер суть npm-пакету bootstrap
полягає в тому, що він надає файл JavaScript в якості модуля bootstrap як модуль . Як вже було сказано вище, це дає змогу зробити require
це за допомогою браузера , що є найімовірнішим випадком використання, і, наскільки я розумію, основною причиною завантаження завантажувальної програми в npm.
Як ним користуватися
Уявіть таку структуру проекту:
проект
| - модулі node_
| - громадські
| | - css
| | - імг
| | - js
| | - index.html
| - package.json
У ваших index.html
ви можете посилатися як css
і js
файли , як це:
<link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
Який найпростіший спосіб і правильний для .css
файлів. Але набагато краще включити такий bootstrap.js
файл десь у свої public/js/*.js
файли:
var bootstrap = require('bootstrap');
І ви включаєте цей код лише в ті javascript
файли, де вам фактично потрібен bootstrap.js
. Browserify піклується про включення цього файлу для вас.
Тепер недоліком є те, що тепер у вас node_modules
залежні файли як залежності, а node_modules
папка зазвичай не зареєстрована git
. Я думаю, що це найбільш суперечлива частина, що має багато думок та рішень .
ОНОВЛЕННЯ Березень 2017 року
Майже два роки минуло, як я написав цю відповідь, і оновлення вже є.
Зараз загальноприйнятим способом є використання такого пакета, як webpack (або іншого постачальника за вибором), щоб поєднати всі ваші активи на етапі збирання.
По-перше, це дозволяє використовувати синтаксис commonjs так само, як і переглядати, тому для включення коду bootstrap js у ваш проект ви робите те саме:
const bootstrap = require('bootstrap');
Що стосується css
файлів, webpack має так звані " завантажувачі ". Вони дозволяють записати це у свій js-код:
require('bootstrap/dist/css/bootstrap.css');
і файли css будуть "магічно" включені у вашу збірку. Вони будуть динамічно додаватися як <style />
теги під час запуску програми, але ви можете налаштувати веб-пакет, щоб експортувати їх як окремий css
файл. Більше про це можна прочитати в документації на веб-пакет.
На закінчення.
- Вам слід "зв’язати" код програми з постачальником
- Ви не повинні виконувати ні
node_modules
git, ні динамічно складені файли. Ви можете додати build
скрипт до npm, який слід використовувати для розгортання файлів на сервері. У будь-якому випадку це можна зробити по-різному, залежно від бажаного процесу збирання.