【问题标题】:Error: GET js file net::ERR_ABORTED 404 (Not Found) node.js错误:获取 js 文件 net::ERR_ABORTED 404(未找到)node.js
【发布时间】:2021-06-11 21:00:32
【问题描述】:

我知道这个问题不是第一个,但我不知道在哪里寻找解决方案。 我有一个快速后端服务器。它必须在启动时呈现带有 main.js 的 HTML 页面。

app.js 代码:

var createError = require('http-errors');
var express = require('express');
var path = require('path');
// <...>

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();

app.set('views', path.resolve(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(cors());
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.resolve(__dirname, 'public')));

var listener = app.listen(5000, function(){
  console.log('Listening on port ' + listener.address().port);
  
});
app.use('/', indexRouter);
app.use('/users', usersRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});



module.exports = app;


public/index.html 代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet"
        type="text/css">
    <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon">
    <title>Fetch Travels</title>
    <style>
        #play {
            display: none;
        }
    </style>
</head>

<body>
    <button type="button" class="btn btn-primary" id="play">search</button>


    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script src="main.js" type="module"></script>
</body>

</html>

public/main.js 显然是在服务器上找不到但在 localhost 中找到的客户端脚本。

【问题讨论】:

    标签: javascript html node.js express http-status-code-404


    【解决方案1】:

    改成这样的

    <script src="/main.js" type="module"></script>
    

    【讨论】:

      猜你喜欢
      • 2020-01-20
      • 2020-03-01
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 2022-11-21
      • 2020-12-29
      相关资源
      最近更新 更多