我只获得一个js文件的内部服务器错误500,当我更改文件的路径时,它工作正常。以下是我的索引文件中的代码段:
<script type="text/javascript" src="/users/users.client.module.js"></script>
<script type="text/javascript" src="/users/services/authentication.client.service.js"></script>
'users.client.module.js'未加载并提供“内部服务器错误”,Chrome中的网络选项卡将其显示为“text / html”类型。另一个文件'authentication.client.service.js'加载正常。还有其他js文件,它们都加载正常。这是服务器错误:
获取/users/users.client.module.js 500 6.716 ms - 1529
这是网络标签显示的内容:
Remote Address:127.0.0.1:3000
Request URL:`http://`127.0.0.1:3000`/users/users.client.module.js`
Request Method:GET
Status Code:500 Internal Server Error
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36
Response Headersview source
Connection:keep-alive
Content-Length:1529
Content-Type:text/html; charset=utf-8
Date:Sat, 22 Nov 2014 20:02:07 GMT
X-Content-Type-Options:nosniff
X-Powered-By:Express
ConsoleSearchEmulationRendering
但是,当我将文件'users.client.module.js'放在子文件夹'services'中时,它会正常加载。这是一个例子:
<script type="text/javascript" src="/users/services/users.client.module.js"></script>
<script type="text/javascript" src="/users/services/authentication.client.service.js"></script>
以上工作正常。我很困惑为什么浏览器在第一种情况下不加载文件。我在chrome和safari中都尝试过它。任何帮助,将不胜感激。
以下是express.js文件中的代码,该文件显示了静态资源的服务器端路由
module.exports = function(){ var app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(session({
saveUninitialized: true,
resave: true,
secret: config.sessionSecret
}));
// setting views/views engine
app.set('views', './app/views');
app.set('view engine', 'ejs');
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
// routes
require('../app/routes/index.server.routes.js')(app);
require('../app/routes/users.server.routes.js')(app);
// serving static file
app.use(express.static('./public'));
return app;
};
答案 0 :(得分:1)
发生了这种情况,因为我打赌你有一个&#34; / users / someparameter&#34; route可能在users.server.routes.js中。因此,当您要求js文件时,它会尝试通过该路径。可能是&#34; someparameter&#34;是一个ID,因此在请求users.client.module.js时,它无法解析参数,因为文件名不是id。
您需要更新路线或重命名&#34;用户&#34;文件夹中。