質問編集履歴

1

デプロイ環境で生じていた"jQueryがない"というエラーは解決しました

2020/07/23 05:13

投稿

naokit-dev
naokit-dev

スコア424

test CHANGED
File without changes
test CHANGED
@@ -403,3 +403,65 @@
403
403
 
404
404
 
405
405
  `$('#modal_initial').modal();`の部分を`$('#modal_initial').show();`や`$('#modal_initial.modal').show();`とするとよいなどのアドバイスも海外サイトで見られましたが、いずれも駄目でした
406
+
407
+
408
+
409
+ # 追記
410
+
411
+ デプロイ環境でのみ、jQueryがないと言われるエラーについては
412
+
413
+ 以下のように変更することで解消しました
414
+
415
+
416
+
417
+ `config/webpack/environment.js`
418
+
419
+
420
+
421
+ ```javascript
422
+
423
+ const {
424
+
425
+ environment
426
+
427
+ } = require('@rails/webpacker')
428
+
429
+
430
+
431
+ const webpack = require('webpack')
432
+
433
+
434
+
435
+ #以下'jquery'から'jquery/src/jquery'に変更
436
+
437
+ environment.plugins.prepend('Provide',
438
+
439
+ new webpack.ProvidePlugin({
440
+
441
+ $: 'jquery/src/jquery',
442
+
443
+ jQuery: 'jquery/src/jquery',
444
+
445
+ Popper: ['popper.js', 'default']
446
+
447
+ })
448
+
449
+ )
450
+
451
+
452
+
453
+ module.exports = environment
454
+
455
+ ```
456
+
457
+
458
+
459
+ 現状の問題点は
460
+
461
+ - webpackerで管理しているBootstrapのスタイルは適応されるが、特定のjavascriptが動かない
462
+
463
+ - <head>内でCDNからBootstrapをインストールすると、前述のjavascriptが動く
464
+
465
+
466
+
467
+ 対症的解決法はあるのですが、後学のため根本解決のためのアドバイスを引き続きお願いいたします。