1

我在 rails 5.0 应用程序中使用 webpacker gem,但我无法让 javascript 在我遇到验证错误的 js.erb 中执行/可用。我确定我在这里违反了一些简单的前提,但找不到答案,并且不存在编译或控制台错误。我的<%= javascript_pack_tag 'application' %>application.html.erb 中有

这是设置:

应用程序/javascript/packs/application.js:

import * as CustomerSession from 'customer_sessions';
console.log('Hello World from Webpacker');

应用程序/javascript/customer_sessions/index.js:

export { univgwTabs } from './univgwTabs';

应用程序/javascript/customer_sessions/univgwTabs:

export let univgwTabs = () => {
  console.log('hi');
};

js erb 模板调用表单验证错误:

$("#right_side_right_bottom_target").html("<%= j render partial: 'generic_object_new' %>");
CustomerSession.univgwTabs();
Global.resizeWindow();
4

1 回答 1

3

console.log(CustomerSession)如果在导入它的位置没有问题,那么我发现的最简单的解决方法是将导入的变量分配为全局 Windows 属性之一。

// in packs/application.js (or wherever your pack is)
// import
import * as CustomerSession from 'customer_sessions';

// assign
window.CustomerSession = CustomerSession

假设 webpacker 没有问题,您现在应该可以console.log(CustomerSession)在控制台或js.erb文件中。

于 2018-01-18T22:56:39.303 回答