如何在“ Ruby Webpacker”中添加多个source_path

Dip*_*pak 10 ruby rubygems webpack webpacker

我们使用Ruby的Webpacker加载JavaScriptsCSS文件到网页。

目前,webpacker.yml我们已将设置source_pathapp/javascript。从该目录加载JavaScript文件可以正常工作。

但是在我们的应用程序中,我们有一个engines目录,所有JavaScript文件都位于不同enginesengines目录中,以加载这些JavaScript文件,我们为engines目录linkapp/javascript/packs的每个包创建了一个in 。

有没有更好的方式来做到这一点,没有提供链接通过提供多种source_pathwebpacker.yml的文件。


以供参考:

这是当前我们拥有的文件夹结构:

-root
 |
 |-app
   |-javascript
     |-packs
       |-[link to engine1.js pack files]
       |-[link to engine2.js pack files]
 |-engines
   |- engine1
      |-app
        |-javascript
        |-packs
          |-engine1.js
   |- engine2
      |-app
        |-javascript
        |-packs
          |-engine1.js
Run Code Online (Sandbox Code Playgroud)

这就是webpacker.yml配置

default: &default
  source_path: app/javascript
  source_entry_path: packs
  public_output_path: packs
  cache_path: tmp/cache/webpacker

  # Additional paths webpack should lookup modules
  # ['app/assets', 'engine/foo/app/assets']
  resolved_paths: ['app/assets']
Run Code Online (Sandbox Code Playgroud)

use*_*936 2

我想你会想做这样的事情:

additional_paths: ['engines']
Run Code Online (Sandbox Code Playgroud)

来源: https: //github.com/rails/webpacker#resolved

如果您要将 Webpacker 添加到现有应用程序,该应用程序在 app/assets 或引擎内拥有大部分资产,并且您希望与 webpack 模块共享该应用程序,则可以使用 config/webpacker.yml 中提供的 extra_paths 选项。这允许您添加 webpack 在解析模块时应查找的其他路径: