gpt4 book ai didi

javascript - Express 不加载 javascript 到客户端

转载 作者:搜寻专家 更新时间:2023-11-01 00:18:12 25 4
gpt4 key购买 nike

我想对客户端代码使用 requireJS。我的文件结构是:

ProjectRoot
|-server.js
|-public/
|-index.html
|-js/
|-app.js
|-lib/
|-require.min.js
|-underscore.js
|-backbone.js
|-raphael.js
|-app/
|-..

server.js:

var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));
app.listen(8090);

index.html:

<!DOCTYPE html>
<html>
<body>
</body>
<script src="js/lib/require.min.js" data-main="js/app.js" />
</html>

app.js:

require.config({
paths: {
'jquery': 'lib/jquery',
'raphael': 'lib/raphael'
},
shim: {
'lib/underscore': {
exports: '_'
},
'lib/backbone': {
deps: ["lib/underscore", "jquery"],
exports: 'Backbone'
}
}
});

问题: 当我转到 localhost:8090 时,我只得到 index.html 而没有任何 .js 文件

问题:为什么Express不向客户端发送javascript?

P.S. 但是当我访问 http://localhost:8090/js/app.js 时,我得到了我的 app.js

我还使用 node server.js 命令启动了我的应用

问题 2: 我的应用无法加载 data-main 文件。它不是请求 localhost:8090/js/app.js,而是请求 localhost:8090/js/app.app。为什么是 app.app?

最佳答案

我认为问题出在静态模块中,您的 nodejs 代码应该是这样的:

var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(8090);

问题在:

Q1:我认为问题可能来自空内容模型,所以请尝试使用

 <script></script>

代替

<script />

Q2:我认为这是 require.js 版本中的一个问题,阅读 this了解更多信息。

关于javascript - Express 不加载 javascript 到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26811857/

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