gpt4 book ai didi

javascript 未加载到 HTML 文件中 - nodejs + expressjs

转载 作者:行者123 更新时间:2023-11-29 22:03:55 26 4
gpt4 key购买 nike

我是 nodejs 和 expressjs 的新手,所以我正在尝试构建简单的网络应用程序来掌握这两个框架。我在这里构建了一个具有以下架构的项目:

js
test.js
views
index.html
server.js

我的服务器文件如下所示:

var fs = require("fs");
var host = "127.0.0.1";
var port = 1337;
var express = require("express");
var ejs = require("ejs");

var server = express();
server.use(server.router);
server.use(express(__dirname));
server.set('view engine','html');
server.engine('html', require('ejs').renderFile);

server.get("*", function(request, response){
response.render('index.html');
});

server.listen(port, host);

我的索引文件是这样的:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Starter Template for Bootstrap</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script language="javascript" src="/js/test.js" type="text/javascript"></script>
</head>

<body ng-app>
<div class="container">
<div class="starter-template">
some code
</div>

</div><!-- /.container -->
</body>
</html>

我的 index.html 文件加载正确,但我无法加载 test.js 文件。我该如何解决这个问题?

最佳答案

在 Express 中使用 express.static 内置的中间件函数。

在server.engine 之后添加这一行。这种机制应该允许提供静态文件,例如图片、JavaScript、CSS

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

现在你可以加载:

http://localhost:1337/js/test.js

关于javascript 未加载到 HTML 文件中 - nodejs + expressjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22041877/

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