Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在node.js中加载js和css文件_Javascript_Html_Css_Node.js - Fatal编程技术网

Javascript 无法在node.js中加载js和css文件

Javascript 无法在node.js中加载js和css文件,javascript,html,css,node.js,Javascript,Html,Css,Node.js,这是html页面。我正在从node.js服务器(即app.js)调用此页面。在这里,我无法加载socket.io.js、bootstrap.js、bootstrap.css页面 My index.html: <html> <script type="text/javascript" src="/javascripts/socket.io.js"></script> <script src="https://code.jquery.com/jquery-1

这是html页面。我正在从node.js服务器(即app.js)调用此页面。在这里,我无法加载socket.io.js、bootstrap.js、bootstrap.css页面

My index.html:

<html>
<script type="text/javascript" src="/javascripts/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type ="text/javascript" src="/javascripts/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="/stylesheets/bootstrap.css" />


<div id="progressbar">
</div>

<script>
  var socket = io('http://localhost:8085');
  socket.on('connect', function(){});
  socket.on('message', function(data){
    $('#progressbar').progressbar({
    maximum: 100,
    step: JSON.parse(data).percent
    });
  });
  socket.on('disconnect', function(){});
</script>
</html>
在firebug中,我面临着这个问题

将视图引擎更改为html并修改如下代码:

app.set('views', path.join(__dirname, 'public'));
app.set('view engine', 'html');
并更改sendfile方法:

res.sendFile(path.join(__dirname, '../YOUR_FOLDER_NAME/public', 'index.html'));
编辑::

更改index.html文件:

<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<link rel="stylesheet" type="text/css" href="stylesheets/test.css" />

您为静态文件设置了不正确的路径

在您的情况下,您需要使用以下选项:

app.use('/javascripts', express.static(__dirname + '/javascripts'));
app.use('/stylesheets', express.static(__dirname + '/stylesheets'));
现在,javascripts和stylesheets文件夹中的任何文件都将作为静态文件加载

您当前使用静态文件的方法:

app.use(express.static(path.join(__dirname, 'public')));
这将以静态文件的形式加载公用文件夹下的所有内容,因此,如果您希望这样做,您需要将javascripts和stylesheets文件夹移动到那里。

这是app.js。(基于@Andrius的解决方案)我能够让它继续运行。index.html保持不变

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');

var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(8085, function(){
    console.log('listening on *:8085');
});

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
//app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

//test
app.use('/javascripts', express.static(__dirname + '/javascripts'));
app.use('/stylesheets', express.static(__dirname + '/stylesheets'));

app.use(express.static(path.join(__dirname, 'public')));

//app.use('/', routes);
//app.use('/users', users);

app.get('/', function (req, res) {
 res.sendfile(__dirname + '/index.html');
//res.send('Hello World!');

});

你可以发布你的
app.js
,其中包括
express.static
?可能还有你的应用程序运行的文件夹结构。请检查app.js代码,确保路径正确。你能从中看到文件吗?是的,我能看到文件你尝试了哪些选项?我尝试了更改为上述代码。它对我不起作用。实际上,在这个路径上,我得到了文件,所以在index.html中,我这样更改,创建了一个非常简单的项目示例,解决了这个问题,并将其放在GitHub上,我会检查它。抱歉,把它放在某个地方,希望不是只有我在看。检查编辑后的答案。您不需要手动将socket.io.js放入javascript文件夹。只需在脚本和链接文件中的样式表和javascripts之前添加脚本并删除“/”。
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');

var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(8085, function(){
    console.log('listening on *:8085');
});

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
//app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

//test
app.use('/javascripts', express.static(__dirname + '/javascripts'));
app.use('/stylesheets', express.static(__dirname + '/stylesheets'));

app.use(express.static(path.join(__dirname, 'public')));

//app.use('/', routes);
//app.use('/users', users);

app.get('/', function (req, res) {
 res.sendfile(__dirname + '/index.html');
//res.send('Hello World!');

});