Метеор начал использовать впервые только неделю назад, поэтому я все еще чувствую себя хорошо.
Я не знаю, как использовать плагины jQuery, установленные через npm.
Я пробежал:
meteor npm install overlayscrollbars --save
Который добавил его в мой package.json
файл ...
"dependencies": {
"@babel/runtime": "^7.0.0-beta.51",
"meteor-node-stubs": "^0.4.1",
"overlayscrollbars": "^1.5.0",
"prop-types": "^15.6.2",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"simpl-schema": "^1.5.0"
},
... но я понятия не имею, как использовать его внутри Метеора?
Я не использую шаблонизатор Blaze, вместо этого я использую React.
Я нашел несколько постов, отвечающих на аналогичный вопрос, но все они были связаны с использованием Blaze и очень старых устаревших версий Meteor.
Я запустил jQuery, попробовал и протестировал некоторые выходные данные console.log и попытался добавить файл плагина js в main.html
со стандартными тегами <script>
, но Meteor это совсем не нравится. Я также попытался импортировать его в проект:
import overlayScrollbars from 'overlayscrollbars';
А также пробовал:
const overlayScrollbars = require('overlayscrollbars');
Но они ничего не сделали, и, честно говоря, я вполне уверен, что это был совершенно неправильный подход в любом случае.
Я также попытался добавить весь исходный код плагина на клиентскую сторону app.js
, но опять же это ничего не сделало.
При просмотре источника моего приложения в браузере я вижу, что файл, который я хочу использовать, даже не загружается Meteor - PasteBin - Просто ответ о том, как выполнить эту часть будет огромная помощь.
Я знаю, что это не работает, так как я вижу ошибки консоли, когда пытаюсь запустить плагин, говоря, что функция не существует.
Кажется, я нигде не могу найти гида.
Может кто-нибудь, пожалуйста, укажите мне правильное направление некоторых документов или объясните процедуру, которой я должен следовать, чтобы использовать любой плагин jQuery внутри Meteor, пожалуйста?
** Отредактируйте, чтобы показать, как я это называю в main.js (это правильный синтаксис для использования jQuery в Meteor?)
Meteor.startup(() => {
Tracker.autorun(() => {
ReactDOM.render(<p>Sidebar</p>, document.getElementById('sidebar'));
ReactDOM.render(<App/>, document.getElementById('app'));
$(function() {
$('.main-content').overlayScrollbars({ });
});
})
});
** Редактировать после ответа ...
У меня возникла проблема из-за того, что плагин не импортировался на правильную страницу, я импортировал его только в файл app.js, а не в шаблон, который отображал компонент.
Кроме того, чтобы прояснить способ его инициации (удаление документа готово), вызов был перемещен в компонент следующим образом:
componentDidMount() {
$('.main-content').overlayScrollbars({ });
}
Спасибо Фреду за помощь. Судя по тому, что я понял из-за моего ограниченного знакомства с Метеором, это фантастическая платформа, и я придерживаюсь ее наверняка, но вам действительно нужно идти в ногу с обновлениями, потому что между версиями часто возникают проблемы, так как методы изменилось. Другими словами, если вы новичок, как и я, пользуясь последней версией, не пытайтесь следовать учебным пособиям по Meteor, которым более года, если вы не готовы к отладке и копанию в документации. чтобы понять, почему старый код больше не работает. Но опять же, если вы сделаете это таким образом, вы получите гораздо более обширную базу знаний, к которой мы все стремимся:)