如何在 Phoenix 中制作 Javascript 代码 运行?
How to make Javascript code run in Phoenix?
所以我很难让用 app.js 编写的 Javascript 真正起作用。这是我到目前为止所做的:
我做的第一件事就是将代码写入 app.js 文件并希望它能工作。
App.js
import "deps/phoenix_html/web/static/js/phoenix_html"
const selectSort = document.getElementById("sort");
console.log("Herp");
const sortEntities = () => {
const sortvalue = selectSort.value;
const entities = document.querySelectorAll(".entitiy");
const sortedEntities = entities.sort((a, b) =>
a.querySelector(`.${sortvalue}`).textContent > a.querySelector(`.${sortvalue}`).textContent);
document.querySelector(".entitiy-list").innerHTML = sortedEntities;
};
selectSort.addEventListener("onChange", sortEntities);
现在我尝试通过控制台访问 selectSort 变量,但未定义。我发现 app.js 自从 运行 windows 以来从未加载过,可以通过在 autoRequire 中添加另一行来修复它。
b运行ch-config.js
<---SNIPPET-->
modules: {
autoRequire: {
"js/app.js": ["web/static/js/app"],
"js\app.js": ["web/static/js/app"] <-- The line added
}
},
<---SNIPPET-->
既然 app.js 文件终于正确加载了,我在 phoenix_html 导入时遇到错误。
错误
Uncaught Error: Cannot find module "deps/phoenix_html/web/static/js/phoenix_html" from "web/static/js/app"
即使我删除了导入,当我将它输入控制台并且代码永远不会执行时,变量仍然无法正确加载,而 console.log 消息被执行。我错过了什么?如果我尝试在控制台中编写代码 window 它工作正常。
该项目本身很旧,可能从 11 月开始,所以我可能 运行 不是最新的 "phoenix template"。不确定那里是否存在与此相关的已知问题,我试着环顾四周。我什至有 "Programming Phoenix",但没有太多关于制作 Javascript 运行 的东西。
我的项目使用了 Phoenix 1.0,它在 Windows 方面存在已知问题并使 Javascript 正常执行。我升级到 1.1.2 现在一切正常。
所以我很难让用 app.js 编写的 Javascript 真正起作用。这是我到目前为止所做的:
我做的第一件事就是将代码写入 app.js 文件并希望它能工作。
App.js
import "deps/phoenix_html/web/static/js/phoenix_html"
const selectSort = document.getElementById("sort");
console.log("Herp");
const sortEntities = () => {
const sortvalue = selectSort.value;
const entities = document.querySelectorAll(".entitiy");
const sortedEntities = entities.sort((a, b) =>
a.querySelector(`.${sortvalue}`).textContent > a.querySelector(`.${sortvalue}`).textContent);
document.querySelector(".entitiy-list").innerHTML = sortedEntities;
};
selectSort.addEventListener("onChange", sortEntities);
现在我尝试通过控制台访问 selectSort 变量,但未定义。我发现 app.js 自从 运行 windows 以来从未加载过,可以通过在 autoRequire 中添加另一行来修复它。
b运行ch-config.js
<---SNIPPET-->
modules: {
autoRequire: {
"js/app.js": ["web/static/js/app"],
"js\app.js": ["web/static/js/app"] <-- The line added
}
},
<---SNIPPET-->
既然 app.js 文件终于正确加载了,我在 phoenix_html 导入时遇到错误。
错误
Uncaught Error: Cannot find module "deps/phoenix_html/web/static/js/phoenix_html" from "web/static/js/app"
即使我删除了导入,当我将它输入控制台并且代码永远不会执行时,变量仍然无法正确加载,而 console.log 消息被执行。我错过了什么?如果我尝试在控制台中编写代码 window 它工作正常。
该项目本身很旧,可能从 11 月开始,所以我可能 运行 不是最新的 "phoenix template"。不确定那里是否存在与此相关的已知问题,我试着环顾四周。我什至有 "Programming Phoenix",但没有太多关于制作 Javascript 运行 的东西。
我的项目使用了 Phoenix 1.0,它在 Windows 方面存在已知问题并使 Javascript 正常执行。我升级到 1.1.2 现在一切正常。