在 Phoenix 框架中放置 javascript 个文件的位置
Where to put javascript files in the Phoenix framework
所以我有一个文件 foo.js
,其中包含以下内容:
$( document ).ready(function() {
alert("hello world");
});
如果我把它放到 web/static/js 文件夹中,它就不会被执行,但是如果我把它放到 web/static/vendor 文件夹中,它就会执行,所以我想知道为什么它不执行无法在 js 文件夹中工作?我应该把 js 文件放在哪里? vendor文件夹好像放错地方了...
事实证明,当您将新文件添加到 js 文件夹时,您必须在 html 文件或 app.js 中要求它,这是早午餐的功能之一
因为 phoenixframework 默认使用 bruch.io。
在它的默认配置中。有两个 javascript 个文件夹
- web/static/js
- web/static/vendor
当您在 /web/static/vendor 下添加 .js 文件时,这些文件将被放入 non wrapped 代码库中。这些文件会和其他js文件(也包括web/static/js下的文件)进行拼接等处理brunch.io,然后放入priv/static/js/app.js
当您在 web/static/js 下添加 .js 文件时,这些文件内容将被放入 wrapped 代码库中,然后这些文件将与前面提到的其他 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中覆盖。
所以我有一个文件 foo.js
,其中包含以下内容:
$( document ).ready(function() {
alert("hello world");
});
如果我把它放到 web/static/js 文件夹中,它就不会被执行,但是如果我把它放到 web/static/vendor 文件夹中,它就会执行,所以我想知道为什么它不执行无法在 js 文件夹中工作?我应该把 js 文件放在哪里? vendor文件夹好像放错地方了...
事实证明,当您将新文件添加到 js 文件夹时,您必须在 html 文件或 app.js 中要求它,这是早午餐的功能之一
因为 phoenixframework 默认使用 bruch.io。 在它的默认配置中。有两个 javascript 个文件夹
- web/static/js
- web/static/vendor
当您在 /web/static/vendor 下添加 .js 文件时,这些文件将被放入 non wrapped 代码库中。这些文件会和其他js文件(也包括web/static/js下的文件)进行拼接等处理brunch.io,然后放入priv/static/js/app.js
当您在 web/static/js 下添加 .js 文件时,这些文件内容将被放入 wrapped 代码库中,然后这些文件将与前面提到的其他 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中覆盖。