我在 app/javascripts/custom/test.js.erb 中有以下內容
export function test(){
alert('<%= 5 %>');
}
但是 ERB 沒有被解釋。
是否可以在 Rails 6 中像這樣使用 js.erb?
uj5u.com熱心網友回復:
這是可能的,但您需要確保您的檔案包含在資產管道中并且它已加載到您的視圖中。
我在 Rails 6.1 上測驗了以下示例:
# in config/initializers/assets.rb
Rails.application.config.assets.precompile = %w[application.js]
# in app/views/layouts/application.html.erb
<%= javascript_include_tag 'application' %>
# in app/assets/javascripts/application.js
//= require_tree .
# in app/assets/javascripts/test.js.erb
alert('<%= 5 %>');
uj5u.com熱心網友回復:
你也可以js.erb在 webpacker 中使用,你需要安裝一個新的包rails-erb-loader,還需要配置 webpack 加載器。
不過不用擔心,webpacker 提供了內置的 rake 命令來安裝所需的包和配置 webpack 加載器。
用:
bundle exec rails webpacker:install:erb
現在只需要匯入app/javascripts/custom/test.js.erb到app/javascript/packs/application.js(包入口點檔案)。你已經準備好了!
// app/javascript/packs/application.js
import Rails from "@rails/ujs"
import Turbolinks from "turbolinks"
import * as ActiveStorage from "@rails/activestorage"
import "channels"
Rails.start()
Turbolinks.start()
ActiveStorage.start()
import '../custom/test.js.erb';
參考檔案:https : //github.com/rails/webpacker/blob/v5.4.3/docs/integrations.md#erb
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/314946.html
