【发布时间】:2019-10-05 12:09:50
【问题描述】:
我安装了 Rails 6 RC1,我想用它创建一个新项目,但是由于 webpack 默认功能,它变成了一场噩梦,如果你想添加 jQuery,我将面临安装第三方 JS 库的困难和引导程序,例如,您应该像这样在environment.js 中进行一些奇怪的设置
environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
$: 'jquery',
JQuery: 'jquery',
jquery: 'jquery',
Popper: ['popper.js', 'default'], // for Bootstrap 4
})
)
如果你想添加 jQuery-ui 你必须搜索并希望你能找到一些链接告诉你this one
// 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/ );
现在如果你想添加 QuillJS 怎么办?您可能会像我一样进行研究,并最终在QuillJS doc 中告诉您添加:
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;
只是为了发现 QuillJs UI 没有出现!!
您看到很多代码只是为了安装 2 或 3 个库,然后我花了很多时间搜索如何添加东西,或者如何使您已经找到/添加的代码工作......
asset pipeline 变得更加容易和快速,为什么仅仅因为 webpack 是 JS 世界的新事物就让我们的生活变得复杂呢??
有什么方法可以轻松安装 JS 库吗?我更喜欢手动添加它们而不是使用这个 webpack 东西!
【问题讨论】:
-
一步可能是运行
yarn add quill@1.3.6,但之后我有点迷茫(将导入的东西添加到application.js不会在javascript控制台中公开Quill)。你设法走得更远吗?这可能会有所帮助:devwoot.com/article/blog/rubyonrails/2018/09/16/… -
@Felix 我发布这个已经有一段时间了,当时为了用 QuillJS 解决这个问题,我通过 CDN 链接在我的应用程序布局中添加了它,这是最简单的方法,但从那以后我得到了更多有机会深入了解 webpack 的事情......每当我找到一些空闲时间时,我会尝试在解决方案中回复你,同时继续通过脚本标签和链接标签(对于 css)使用 Quilljs,你可以调整以后的事情
-
如果有人有兴趣回答这个问题,请在下面留言,我会尽力为你们写一个很好的解释
-
不能更同意 OP - 我认为 webpack on rails 6 已经被引入为开发人员自动化事情并让我们的生活更轻松,但到目前为止,像这样的问题只是让事情变得更加复杂 - 我'现在已经通过 CDN 添加它,直到有人在这里阐明正确的方法!
-
@SamiBirnbaum 我会争取一些时间并在明天之前发布一个详细的答案,这并不难:) 但现在,是的,你可以通过 CDN 添加它
标签: javascript ruby-on-rails webpack ruby-on-rails-6