首页 > 解决方案 > 服务器找不到文件

问题描述

我编写了一个简单的快速脚本来提供嵌入 javascript 的网页。但是,服务器似乎找不到我提供给它的任何文件。更令人沮丧的是,有时它似乎可以工作,只是当我更改一些不相关的代码时它又会崩溃。

所有文件都是我告诉脚本的地方,但我经常收到以下错误:

GET http://localhost:55154/jsPsych/jspsych.js net::ERR_ABORTED 404 (Not Found)

这是快递代码:

// --- LOADING MODULES
var express = require('express');

// --- INSTANTIATE THE APP
var app = express();

// --- STATIC MIDDLEWARE 
app.use(express.static(__dirname + '/public'));
app.use('jsPsych', express.static(__dirname + "/jsPsych"));

// --- VIEW LOCATION, SET UP SERVING STATIC HTML
app.set('views', __dirname + '/public/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

// --- ROUTING
app.get('/', function(request, response) {
    response.render('index.html');
});

app.get('/experiment', function(request, response) {
    response.render('go_no_go.html');
});

// --- START THE SERVER 
var server = app.listen(process.env.PORT, function(){
    console.log("Listening on port %d", server.address().port);
});

这是相关的 javascript 位:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">

    <script type="text/javascript" src="../jsPsych/jspsych.js"></script>
    <link type= "text/html" href="jsPsych/css/jspsych.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript" src="jsPsych/plugins/jspsych-html-keyboard-response.js"></script>
    <script type="text/javascript" src="jsPsych/plugins/jspsych-image-keyboard-response.js"></script>
    <script type="text/javascript" src="jsPsych/plugins/jspsych-survey-text.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  </head>

标签: javascriptnode.jsexpress

解决方案


您是否必须向上移动目录才能访问 jspsych.js?如果不删除相对路径中的“..”,以确保相对路径与您的文件对齐。


推荐阅读