我正在尝试使用Node.js和HTML制作一个简单的游戏。我希望能够在本地运行游戏(因此是localhost)。但是,当我启动Node服务器时,仅呈现HTML内容-我的图像没有显示并且JS未加载。我在HTML代码中引用了JavaScript文件,CSS文件和图像。不确定为什么服务器无法从HTML内引用它们。
这是我的服务器代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text=""
android:gravity="center"
android:id="@+id/DisplaySunrise"/>
</FrameLayout>
谁能告诉我如何加载图像/ JS? TIA
答案 0 :(得分:0)
您需要静态处理程序以返回静态内容。检查一下 https://www.pabbly.com/tutorials/node-js-http-module-serving-static-files-html-css-images/。
此外,如果您的应用程序非常庞大,请使用Express等中间件。 (https://expressjs.com/)
答案 1 :(得分:0)
您没有正确提供静态内容(即图片,CSS)。考虑一下当一个人导航到http://localhost:3000/some_image.png
时会发生什么-将向他们提供game.html!
例如,您需要考虑使用requestHandler
读取他们想要的文件的用户,从而在fs.readFileSync(request.url)
中请求该内容。请记住要检查它们是否只能请求您希望它们能够读取的文件!
答案 2 :(得分:0)
如果您使用Express框架,则可以使用静态渲染:
app.use(express.static('public'));
其中“ public”是文件夹名称