尝试包含多个 js 源时出错:检查您的 javascripts.joinTo 配置

Error when trying to include multiple js sources: Check your javascripts.joinTo config

我正在尝试使用 phoenix-elixirbrunch 设置基本应用程序,但出现以下错误:

23 Mar 10:18:10 - warn: node_modules/phoenix/priv/static/phoenix.js compiled, but not written. Check your javascripts.joinTo config
23 Mar 10:18:10 - warn: node_modules/phoenix_html/priv/static/phoenix_html.js compiled, but not written. Check your javascripts.joinTo config

这是我在 branch-config.js 中的内容:

files: {
    javascripts: {
      joinTo: {
        "js/app.js": /^(web\/static\/js)/,
        "js/script.js": /^(web\/static\/js)/
      }
    }
    // ...
}

这是我的文件夹结构:

web/
  static/
    js/
      app.js
      script.js

我确实看到 script.js 被包括在内(我看到它被编译成 priv/static/js 并且还作为开发工具中的源代码)但是它里面的函数没有表现出我期望的行为去做。如果我将 script.js 的内容添加到 app.js.

,它们就会起作用

有趣的是 css 如果我这样做的话效果很好...

stylesheets: {
  joinTo: "css/app.css",
  joinTo: "css/style.css"
},

如果我将 js 格式化为与 css 类似的格式,则没有错误,但同样,它内部的函数不会启动...

javascripts: {
  joinTo: "js/app.js",
  joinTo: "js/script.js"
}

我是否需要将 script.js 添加到 vendor 文件夹? app.js 是唯一可以在 web/js 中使用的 js 脚本吗?我觉得我可能在某处缺少设置。

编辑:

$ mix phoenix.new -v
Phoenix v1.1.4

$ brunch -v
2.1.3

如果你想将你的 js 文件合并到一个 app.js 文件中,只需将配置保留为默认值

files: {
    javascripts: {
      joinTo: {
        "js/app.js": /^(web\/static\/js)/
      }
    }
    // ...
}

这意味着 web/static/js 中的所有文件都将连接到 app.js 中。发生的事情基本上是你告诉 brunch 将所有 javascript 加入两个不同的文件,这会混淆它。