将javascript文件放在Phoenix框架中的位置

NoD*_*ame 4 phoenix-framework

所以我有一个foo.js包含以下内容的文件:

$( document ).ready(function() {
  alert("hello world");
});
Run Code Online (Sandbox Code Playgroud)

如果我把它放到web/static/js文件夹然后它不会被执行,但是如果我把它放到web/static/vendor文件夹那么它确实如此,所以我想知道为什么它不能从js工作夹?我应该把我的js文件放在哪里?供应商文件夹似乎不是正确的地方......

Sur*_*wla 8

由于phoenixframework使用bruch.io作为默认值.在它的默认配置.有两个javascript文件夹

  1. 网络/静态/ JS
  2. 网络/静态/供应商

当您在/ web/static/vendor下添加.js文件时,这些文件将被放入非包装代码库中.这些文件将进行连接和其他进程以及brunch.io与其他js文件(其中还包括web/static/js下的文件),然后将它放在priv/static/js/app.js中

当您在web/static/js下添加.js文件时,这些文件内容将被放入 包装的代码库中,然后这些文件将与之前提到的其他brunch.io进程连接.要引用这些文件,您需要使用require()首先需要它然后您可以使用它.

我希望你能理解这里的原因.我从https://github.com/brunch/brunch-guide/blob/master/content/en/chapter04-starting-from-scratch.md进行了研究.

并且可以在phoenixframework geterated文件夹内容中的文件brunch-config.js或brunch-config.coffee中覆盖这些配置.