【发布时间】:2021-04-14 10:00:11
【问题描述】:
我正在尝试在 Rails 项目中使用 BeePlugin package,它提出了如何使用 Webpacker 正确导入库的问题?
我添加了 jQuery,但不知何故我无法添加蜜蜂插件。 我希望能够仅在我需要的文件中导入我需要的内容
到目前为止,我所做的是
- 用yarn
yarn add @mailupinc/bee-plugin安装库 - 创建了一个新文件来添加我的代码并将其导入 application.js
import ./bee - 在新文件中导入我的库。我努力了
import "@mailupinc/bee-plugin"import Bee from "@mailupinc/bee-plugin"import * as Bee from "@mailupinc/bee-plugin"const Bee = require "@mailupinc/bee-plugin"
它们似乎都不起作用。为什么?
我总是得到Uncaught ReferenceError: Bee is not defined
供参考 应用程序.js
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
import "./bee";
webpack/environment.js
const { environment } = require('@rails/webpacker')
const webpack = require("webpack");
// Avoid using require and import and alias jquery
environment.plugins.append(
"Provide",
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
})
);
module.exports = environment
bee.js
import Bee from "@mailupinc/bee-plugin";
function initBee() {
$.ajax({ url: "/editor/token", success: startBee });
}
function beeConfig() {
return {...} // Config params
}
function startBee(auth) {
const beeInstance = Bee.create(auth, beeConfig(), (instance) => {
$.ajax({
url: $("#bee-plugin-container").data("template"),
success: (template) => instance.start(template),
});
return instance;
});
}
$(document).on("turbolinks:load", initBee);
【问题讨论】:
标签: javascript ruby-on-rails webpack webpacker