Я пытаюсь установить jQuery в Rails 6.0.0.rc1 через Webpack, и я не уверен, что мне не хватает, но я получаю ошибку $ is not defined
в консоли браузера, несмотря на то, что я могу скомпилировать jQuery ,
Я добавил jQuery с yarn add jquery
, поэтому мой package.json выглядит следующим образом
{
"name": "muladeseis_app",
"private": true,
"dependencies": {
"@babel/preset-react": "^7.0.0",
"@rails/actioncable": "^6.0.0-alpha",
"@rails/activestorage": "^6.0.0-alpha",
"@rails/ujs": "^6.0.0-alpha",
"@rails/webpacker": "^4.0.2",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"jquery": "^3.4.0",
"prop-types": "^15.7.2",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.3.1"
}
}
Мой app / javascript / packs / application.js требует jquery от node_modules
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
И я попытался зарегистрировать $
в config / webpack / environment.js, выполнив:
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
module.exports = environment
environment.plugins.append(
'Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
)
Всякий раз, когда я добавляю скрипт в свои представления со ссылкой $
, я получаю Uncaught ReferenceError: $ is not defined
.
Я проверил ответы StackOverflow, такие как this , чтобы проверить, правильно ли я регистрирую ключевой символ '$', но я нашел только ответы, предлагающие использовать ProvidePlugin, на который я уже ссылаюсь в моей конфигурации.
Также, если я исследую источники моего приложения в инспекторе браузера, я вижу код jQuery, интегрированный в localhost: 3000 >> packs / js, поэтому проблема не в том, что Webpack не находит jQuery, а в том, что ключевые слова '$' и ' jQuery 'не распознаются.
Буду признателен за помощь в устранении этого.