在Node.js中加载客户端Javascript和CSS
Load client Javascript and CSS in Node.js
我想在我的html文件中加载客户端javascript chat.js
和css style.css
,但我在加载它们时得到404
错误。
// routing
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
这是我的客户端html:
<script src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="chat.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
我如何在我的应用程序中加载它们?所有文件都在同一个根文件夹中。我试过这个,但它不工作:
app.get('/', function (req, res) {
res.sendFile(__dirname + '/chat.js');
});
看起来你正在使用express web框架,所以在这种情况下,你应该使用express静态中间件。
我在下面做了一个例子。
下面是服务器server.js
文件:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(4040, function() {
console.log('server up and running');
});
您可以看到Express正在提供位于public
目录上的文件。您可以看到,我没有为/
提供路由,因为浏览器会自动抓取index.html
。
public/index.html
:
<!doctype html>
<html>
<head>
<link href="style.css" rel="stylesheet"/>
</head>
<body>
<h1>Hey</h1>
<script src="app.js"></script>
</body>
</html>
从浏览器的角度来看,他只知道index.html
, app.js
和style.css
文件,因为它们是由express提供的。
public/style.css
:
body {
background: red;
}
public/app.js
document.addEventListener('DOMContentLoaded', function() {
alert('hello world');
});
相关文章:
- 如何根据需要优雅地添加javascript/css
- 颗粒-JavaScript/CSS缩小SIMPLE/ADVANCED优化不起作用
- 在 javascript css 属性中使用变量
- Javascript/Css导航未显示在jquery文档上,仅在ie中准备就绪
- Javascript -> CSS (display:none to display:block)
- 如何使用javascript/css创建一个弹出屏幕的表单
- JavaScript:css 将开关切换到暗模式
- 删除加载javascript/css时的页面闪烁
- 使用 JavaScript CSS 的下拉菜单
- 影响JavaScript / CSS的HTML空间格式
- javascript css更改问题
- HTML/Javascript/CSS框堆叠在一起
- 优化JavaScript CSS下载
- 为什么javascript+CSS显示设置会使单选按钮不受欢迎
- 如何对齐画布旁边的文本和按钮(WebGL+JavaScript+CSS)
- 向上一个/下一个图像幻灯片添加计数器(仅限javascript/css)
- Javascript/CSS,如何保持更改
- SEO,PHP MasterPage和渲染阻塞Javascript/CSS
- Javascript&Css - onclick() 上的图像修改
- 如何使用变量制作纯 javascript .css() 函数