gpt4 book ai didi

javascript - 本地主机中带有 Node.JS 的 CSS/JS

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:02 25 4
gpt4 key购买 nike

我正在探索 Node.js,我在本地主机中的 .css 和 .js 文件遇到了一点问题。我尝试了很多东西,但在我的情况下没有用(例如 http://ericsowell.com/blog/2011/5/6/serving-static-files-from-node-js)

我的文件是这样的:

我的网站/app.js

我的网站/index.html

我的网站/package.json

mysite/css/我的 .css 文件

mysite/js/我的 .js 文件

mysite/node_modules/所有 node.js 模块

我在 app.js 中试过这个:

var app = require('express')(),
http = require('http');
fs = require('fs');
path = require('path');
imtesting = function (req, res) {

var filePath = '.' + request.url;
if (filePath == './')
filePath = './index.htm';

var extname = path.extname(filePath);
var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}

path.exists(filePath, function(exists) {

if (exists) {
fs.readFile(filePath, function(error, content) {
if (error) {
response.writeHead(500);
response.end();
}
else {
response.writeHead(200, { 'Content-Type': contentType });
response.end(content, 'utf-8');
}
});
}
else {
response.writeHead(404);
response.end();
}
});

}

server = http.createServer(app, imtesting),
io = require('socket.io').listen(server),
ent = require('ent'), // Permet de bloquer les caractères HTML (sécurité équivalente à htmlentities en PHP)


// Chargement de la page index.html
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});



io.sockets.on('connection', function (socket, pseudo) {
// Dès qu'on nous donne un pseudo, on le stocke en variable de session et on informe les autres personnes
socket.on('nouveau_client', function(pseudo) {
pseudo = ent.encode(pseudo);
socket.set('pseudo', pseudo);
socket.broadcast.emit('nouveau_client', pseudo);
});

// Dès qu'on reçoit un message, on récupère le pseudo de son auteur et on le transmet aux autres personnes
socket.on('message', function (message) {
socket.get('pseudo', function (error, pseudo) {
message = ent.encode(message);
socket.broadcast.emit('message', {pseudo: pseudo, message: message});
});
});
});

server.listen(8080);

但是结果还是

GET http://localhost:8080/css/bootstrap.min.css 404 (Not Found) localhost/:14
GET http://localhost:8080/css/site-style.css 404 (Not Found) localhost/:17
GET http://localhost:8080/css/spray-style.css 404 (Not Found) localhost/:21
GET http://localhost:8080/js/bootstrap.min.js 404 (Not Found) localhost/:98
GET http://localhost:8080/js/spray-reader.js 404 (Not Found) localhost/:99

我尝试了很多解决方案...

谢谢大家,对不起,如果我的英语让你眼睛流血。

最佳答案

你做的比必要的多。使用 express,您可以通过中间件设置静态路由,中间件将提供来自设定路径的内容:

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

您可以在这里阅读更多相关信息:http://expressjs.com/faq.html#multiple-statics

关于javascript - 本地主机中带有 Node.JS 的 CSS/JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157402/

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