6

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

$( document ).ready(function() {
  alert("hello world");
});

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

4

2 回答 2

8

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

  1. 网页/静态/js
  2. 网络/静态/供应商

当您在 /web/static/vendor 下添加 .js 文件时,这些文件将被放入未包装的代码库中。这些文件将与其他 js 文件(也包括 web/static/js 下的文件)一起进行连接和其他进程和 brunch.io,然后将其放入 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 中被覆盖。

于 2015-07-20T07:11:28.360 回答
1

事实证明,当您将新文件添加到 js 文件夹时,您必须在 html 文件或 app.js 中要求它,这是 brunch 的功能之一

于 2015-07-18T08:00:03.610 回答