gpt4 book ai didi

ruby-on-rails - 通过 ember-cli-rails 在 Rails 引擎中使用 Ember 引擎

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:07 24 4
gpt4 key购买 nike

我们有一个高度模块化的 rails5 应用程序,它在多个存储库的 rails 引擎中拆分并集成为 ruby​​ gem。

现在我们想通过使用 ember-cli-rails 来介绍 EmberJS .主 Rails 应用程序包含主 ember 应用程序在 frontend目录,而每个 Rails 引擎在 ember-engine 中包含一个 ember 引擎(通过 frontend )目录。

如何将模块的ember引擎挂载到主ember引擎中?

最佳答案

由于到目前为止我还没有找到其他解决方案,我创建了一个初始化程序,它将所有 Rails 引擎的 ember 引擎目录符号链接(symbolic link)到 node_modules 中的消费 ember 引擎使用 Rails 应用程序:

# Get the node_modules dir
nm_dir = Rails.root.join('frontend', 'node_modules')

# Delete existing symlinks
Dir.new(nm_dir.to_s).each { |entry| FileUtils.rm_rf(entry) if entry =~ /^.+\-frontend$/ }

# MODULES contains an array of the rails engine gem names
MODULES.each do |module_name|
# Each module has a Manifest class, load that
manifest = load_manifest(module_name)

# Get the path to the frontend dir of the rails engine
source = Pathname.new(manifest.method(:setup).source_location[0].split('/lib/')[0]).join('frontend').to_s

# Symlink destination
destination = nm_dir.join("#{module_name}-frontend").to_s

# Symlink it
FileUtils.symlink source, destination, force: true
end

这种方法可能不是很干净,但它似乎有效。

关于ruby-on-rails - 通过 ember-cli-rails 在 Rails 引擎中使用 Ember 引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41165548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com