Я использую Rails 6 с веб-пакетом. Я хочу использовать библиотеку jquery-textcomplete
, но не знаю, как мне включить ее в файл application.js
.
Мои шаги:
- У меня установлена
jquery-textcomplete
через yarn add jquery-textcomplete
- Я включаю это в
application.js
как import 'jquery-textcomplete'
или require('jquery-textcomplete')
- Я вижу библиотеку в скомпилированном js-файле
Но я получаю ошибку ncaught TypeError: $(...).textcomplete is not a function
. Если я включу его через CDN
, все будет работать нормально. Подскажите, пожалуйста, как мне поступить? Помогите мне, пожалуйста.
мой webpack/environment.js
const { environment } = require('@rails/webpacker')
const coffee = require('./loaders/coffee')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery'
})
)
environment.loaders.prepend('coffee', coffee)
module.exports = environment
мой application.js
require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");
require("jquery");
import 'jquery-textcomplete';
my package.json
{
"name": "my_app",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0-alpha",
"@rails/activestorage": "^6.0.0-alpha",
"@rails/ujs": "^6.0.0-alpha",
"@rails/webpacker": "^4.0.7",
"coffee-loader": "^0.9.0",
"coffeescript": "1.12.7",
"jquery": "^3.4.1",
"jquery-textcomplete": "^1.8.5",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.8.1"
}
}