1

Rails 5.0アプリでwebpacker gemを使用していますが、検証エラーが発生しているjs.erbでJavaScriptを実行/利用できません。ここでいくつかの単純な前提に違反していると確信していますが、答えが見つからず、コンパイル エラーもコンソール エラーも発生しません。私は<%= javascript_pack_tag 'application' %>私のapplication.html.erbに持っています

セットアップは次のとおりです。

app/javascript/packs/application.js:

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

app/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)インポートする場所に問題がない場合、私が見つけた最も簡単な修正は、インポートされた変数をグローバル ウィンドウ プロパティの 1 つとして割り当てることでした。

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

// assign
window.CustomerSession = CustomerSession

console.log(CustomerSession)webpacker に問題がないと仮定すると、コンソールまたはjs.erbファイルでできるはずです。

于 2018-01-18T22:56:39.303 に答える