Существует разница между версией пакета Meteor jquery@3.0.0
и npm версией `" jquery ":" ^ 3.5.1 ".
Пакет Meteor jquery@3.0.0
позволяет заменить устаревшие версии jQuery (например, поставленные как прямая зависимость старого пакета Meteor) версией jQuery, установленной через npm.
* В файле 1011 *./meteor/versions
есть строка, в которой говорится: "jquery@1.11.11"
Обратите внимание, что простое добавление jquery@3.0.0
иногда не удается (когда пакеты требуют прямых зависимостей). Затем вам нужно изменить в своем .meteor/packages
запись jquery@3.0.0
на jquery@3.0.0!
Однако это все равно может вызвать указанную ошибку, потому что ваш jQuery будет версией> 3 (потому что ваш проект затем будет использовать npm jQuery 3.5.1).
Какие у вас есть варианты устранения ошибки:
- a) Установить npm
jquery
> 1 и <3 </li> - b) Установите последнюю версию jQuery и используйте Bootstrap 4 через npm
вариант a
Первый вариант в основном потребует от вас запуска meteor npm install --save jquery@2.2.4
для получения последней jQuery <3. </p>
Это может быть быстрое решение, если ваше приложение будет использоваться для внутренних целей ( например, в корпоративном внутреннем anet или что-то в этом роде), но было бы большой проблемой, если бы он был вне дома. Существует множество уязвимостей , которые были обнаружены с 3.5.1
, и вам следует подумать, будет ли это проблемой или нет.
option b
Лучше всего с самого начала использовать новейшие bootstrap и jQuery и использовать их пакеты npm. Это немного больше работы, чем просто добавление twbs:bootstrap
, но оно дает вам необходимую гибкость и удобство обслуживания:
- установить последние npm пакеты
$ meteor remove twbs:botstrap
$ meteor npm install --save jquery@latest bootstrap popper.js
отредактируйте пакет Meteor jquery
Откройте .meteor/packages
в выбранном вами редакторе и измените:
jquery@3.0.0
на jquery@3.0.0!
импортировать пакеты
В процедуре запуска, например, в client/main.js
, вы делаете следующее:
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.css' // default theme
import popper from 'popper.js'
global.Popper = global.Popper || popper
(необязательно) импорт настраиваемой темы
Если вы хотите применить свою собственную тему, вы также можете установить s css набор инструментов :
$ meteor remove standard-minifier-css
$ meteor add fourseven:scss seba:minifiers-autoprefixer
, а затем импортируйте свою собственную тему вместо стандартной css:
import 'bootstrap'
import popper from 'popper.js'
import './theme.scss'
global.Popper = global.Popper || popper
, чтобы применить свою собственную тему, вам необходимо иметь theme.scss
, чтобы соответствовать приведенной ниже структуре:
/* import the necessary Bootstrap files */
@import "{}/node_modules/bootstrap/scss/functions";
@import "{}/node_modules/bootstrap/scss/variables";
@import "{}/node_modules/bootstrap/scss/mixins/buttons";
/* these are just examples, if your theme overrides more you need to import the respective files */
/* -------begin customization-------- */
/* here your custom theme variables, colors etc. */
/* ------- end customization -------- */
/* finally, import Bootstrap to set the changes! */
@import "{}/node_modules/bootstrap/scss/bootstrap.scss";
Я знаю, что это может быть слишком сложным ответом, но в конечном итоге я настоятельно рекомендую вам опустить устаревшие BS3 и go для более гибкой стратегии, как показано здесь в варианте b.