以下是我的HTML
中内联<script>
的摘要
<script>
var fs = require('fs');
var images = fs.readdirSync('/i/cats/');
</script>
我将我的网站托管在000webhost(免费版)
我的问题是抛出ReferenceError, require is not defined
要清楚,我试图在服务器上找到文件,而不是在客户端上。
修改 html中的JavaScript是客户端的,因此require不起作用。因此我必须使用PHP,这是我到目前为止所得到的:
<?php
$images = array();
if ($handle = opendir('/i/cats')) {
while (false !== ($entry = readdir($handle))) {
array $images = array_push(array $images, $entry);
}
closedir($handle);
}
?>
它似乎从服务器的根目录中获取目录。我该如何解决这个问题?
答案 0 :(得分:1)
Javascript 是少数运行后端和前端的语言之一。这可能令人困惑,因为一些教程将为后端提供代码( node.js )。
虽然它可以运行后端,但大多数虚拟主机都没有提供该选项。即使他们这样做,你也必须先了解差异,然后才能将它与前端javascript结合起来。
您目前正在尝试做的是在客户端(webbrowser)上运行服务器端代码。
要正确运行,请在PC上安装 node.js 并使用节点(value
)运行脚本。
如果您在 apache 网络服务器上托管文件,则无法有效。 000webhost 提供了apache。如果你真的想要这个,请使用PHP。