gpt4 book ai didi

javascript - 在 Node 应用程序中加载脚本

转载 作者:行者123 更新时间:2023-12-03 11:02:15 24 4
gpt4 key购买 nike

这是我的文件夹结构:

- getable_challenge
- node_modules
- stuff
- main.html
- main.js
- backend.js
- README.md

我要加载main.js从内部main.html 。之前我一直使用file:///Users/adamzerner/code/getable_challenge/main.html的URL访问该页面。 ,以及一个简单的<script src="main.js"></script>允许我加载脚本。

但后来我在 localhost:3000 设置了一个 Node 服务器,现在它不会加载脚本。它正在尝试加载localhost:3000/main.js ,这可能是错误的路径。我不知道如何构建这个......我应该做什么?

服务器代码(本质上)

var express = require('express');
var app = express();
app.listen(3000);

最佳答案

当您使用"file"协议(protocol)时,您甚至不使用网络应用程序来提供脚本,您将直接在本地文件系统上访问它。当您只是在本地计算机上运行应用程序时,这工作得很好,但当您尝试将其作为真正的应用程序运行时,它会完全崩溃,因为浏览器不知道“file:///...”在哪里,甚至不知道有权访问它。

您需要将客户端脚本放入一个单独的目录中,通常命名为“public”,然后让您的应用程序知道它。如果您使用的是 Express,您可以这样做:

app.use(express.static(__dirname + '/public'));

您希望将静态服务的脚本(“公共(public)”)放入单独的目录中,以便控制客户端的访问。如果您只是将它们放入主目录并使主目录可访问,则可以将所有其他文件公开给公众查看,例如有时包含密码的配置文件。

它还使您的结构更加清晰。

关于javascript - 在 Node 应用程序中加载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com