是否有统一的方法在Rails 6中安装JS第三方库(如QuillJS)?

med*_*zid 6 javascript ruby-on-rails webpack ruby-on-rails-6

我安装了Rails 6 RC1,并且想用它创建一个新项目,但是由于webpack的默认功能,它变成了一场噩梦,如果要添加jQuery和bootstrap的话,安装第三方JS库将很困难。例如,您应该environment.js像这样进行一些奇怪的设置

environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
        $: 'jquery',
        JQuery: 'jquery',
        jquery: 'jquery',
        Popper: ['popper.js', 'default'], // for Bootstrap 4
    })
)
Run Code Online (Sandbox Code Playgroud)

如果要添加jQuery-ui,则必须进行搜索,希望可以找到一些链接,向您显示链接

// jquery
import $ from 'jquery';

global.$ = $
global.jQuery = $


require('jquery-ui');

// jquery-ui theme
require.context('file-loader?name=[path][name].[ext]&context=node_modules/jquery-ui-dist!jquery-ui-dist', true,    /jquery-ui\.css/ );
require.context('file-loader?name=[path][name].[ext]&context=node_modules/jquery-ui-dist!jquery-ui-dist', true,    /jquery-ui\.theme\.css/ );
Run Code Online (Sandbox Code Playgroud)

现在,如果要添加QuillJS怎么办?您可能会像我一样进行研究,最后出现在QuillJS文档中,该文档告诉您添加:

import Quill from 'quill/core';

import Toolbar from 'quill/modules/toolbar';
import Snow from 'quill/themes/snow';

import Bold from 'quill/formats/bold';
import Italic from 'quill/formats/italic';
import Header from 'quill/formats/header';


Quill.register({
  'modules/toolbar': Toolbar,
  'themes/snow': Snow,
  'formats/bold': Bold,
  'formats/italic': Italic,
  'formats/header': Header
});


export default Quill;
Run Code Online (Sandbox Code Playgroud)

只是发现QuillJs UI没有显示!

如您所见,很多代码只是用于安装2或3个库,然后我花了很多时间只是在搜索如何添加东西,或者如何使已经找到/添加的代码正常工作...

资产管道更容易,更快捷,为什么仅仅因为这是JS世界中的新事物而使webpack复杂化了?

有什么方法可以轻松地安装JS库吗?与使用此Webpack相比,我更喜欢手动添加它们!

med*_*zid 2

要回答我的问题......没有诸如“统一方式”之类的东西,您当然可以在 javascript 文件夹中创建某种文件夹并下载您想要的第三方库,然后将其导入到您的 application.js 中,这就是会工作得很好,但如果你这样做,那么为什么要使用包管理器(Yarn)或 webpacker 呢?

我写了一篇文章,解释了有关 Rails 上的 webpack 的一些技巧,并解释了如何安装和使用 QuillJS 例如......这里是链接:

https://medium.com/@technobogueur/rails-6-and-webpacker-what-you-need-to-know-e3534fded7ff

我会尝试找一些时间回到这个答案,用更多代码和示例更新它,但与此同时,上面的文章可以节省您的时间:)