Ответ 1
Вы можете использовать диспетчер пакетов браузера i.e bower
Bower предлагает общее, неопроверенное решение проблемы управления интерфейсом переднего плана, а также демонстрирует модель зависимости от пакета через API, который может потребляться более самоуверенным стеком сборки. Системных зависимостей нет, между разными приложениями не используются зависимости, а дерево зависимостей - плоское.
Если вы хотите узнать больше о том, что лучше и надежнее, вы также читаете эту ссылку .
Основное различие между npm и Bower - это подход для установки зависимостей пакетов. npm устанавливает зависимости для каждого пакета отдельно и в результате создает большое дерево зависимостей пакета (node_modules/grunt/node_modules/glob/node_modules/...)
, где может быть несколько версий одного и того же пакета. Для клиентского JavaScript это неприемлемо: вы не можете добавить две разные версии для jQuery или любой другой библиотеки на страницу. С Bower каждый пакет устанавливается один раз (jQuery всегда будет находиться в папке bower_components/jquery
, независимо от того, сколько пакетов зависит от него), а в случае конфликта зависимости Bower просто не будет устанавливать пакет, несовместимый с тем, который уже установлен.
Установка Bower
Вы просто устанавливаете пакеты
Синтаксис
npm install -g bower
Вы можете сослаться на Doc.
Пример:
Структура каталогов
project Folder
+ bower_components
+ bootstrap
+ dist
+ css
+ bootstrap.css
+ jquery
+ jquery.js
+ public
+ index.html
+ app.js
Теперь вы можете установить статический путь в app.js
app.use(express.static(path.join(__dirname, 'bower_components')));
Теперь вы можете просто использовать свой файл index.html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
<link rel='stylesheet' href='/bootstrap/dist/css/bootstrap.css' />
</head>
<body>
{{{ yield }}}
</body>
<script src="/bootstrap/dist/jquery/jquery.js"></script>
</html>
Скриншоты