当前位置: 首页 > 知识库问答 >
问题:

错误:enoent:Angular2和express.js没有这样的文件或目录

呼延河
2023-03-14
Error: ENOENT: no such file or directory

为了解决错误:enoent:no sock file或directory需要对GitHub示例中的代码进行哪些特定的更改?

'use strict';
let uuid = require('node-uuid');
var path = require('path');
let jwt = require('jsonwebtoken');
let config = require('./config');

// expose the routes to our app with module.exports
module.exports = function(app) {

    //all other methods omitted here for brevity

    app.get('*', function(req, res) {
        console.log('inside * route!');           
        if(req.url === '/'){
            res.sendFile(path.resolve('dist/client/index.html')); // load the single view file (angular will handle the front-end)
        } else {
            res.sendFile(path.resolve('./dist/client' + req.url));
        }
    });
};

localhost:8080的请求的nodemon控制台输出将触发上面的express.jsapp.get('*'...)方法,反复导致错误:

App listening on port 8080
inside * route!
GET / 304 54.261 ms - -
inside * route!
inside * route!
inside * route!
GET /boot.css 304 4.637 ms - -
GET /boot.js 304 4.447 ms - -
GET /vendor.js 304 3.742 ms - -
inside * route!
GET /vendor.js.map 200 3.180 ms - 3115631
inside * route!
GET /boot.js.map 200 2.366 ms - 61810
inside * route!
GET /bootstrap.css.map 404 2.515 ms - 169
Error: ENOENT: no such file or directory, stat '/home/user/nodejs_apps/angular2_oauth_seed_app/dist/client/bootstrap.css.map'
    at Error (native)

新的服务器/index.js指定express.js是:

// set up ======================================================================
var express  = require('express');
var app      = express();                               // create our app w/ express
var port     = process.env.PORT || 8080;                // set the port
var morgan = require('morgan');             // log requests to the console (express4)
var bodyParser = require('body-parser');    // pull information from HTML POST (express4)
var methodOverride = require('method-override'); // simulate DELETE and PUT (express4)

app.use('/static', express.static(__dirname + '/dist/client'));
app.use(morgan('dev'));                                         // log every request to the console
app.use(bodyParser.urlencoded({'extended':'true'}));            // parse application/x-www-form-urlencoded
app.use(bodyParser.json());                                     // parse application/json
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json
app.use(methodOverride());
app.use('/scripts', express.static(__dirname + '/node_modules/'));

// load the routes
require('./router')(app);

// listen (start app with node server.js) ======================================
app.listen(port);
console.log("App listening on port " + port);

除了package.json之外,GitHub示例应用程序中的所有其他内容都与您在GitHub上看到的内容相同,它只包含支持router.jsindex.js中更改的依赖项,如上图所示。

共有1个答案

白光耀
2023-03-14

Bootstrap.css.map指示浏览器正试图加载引导CSS的源映射(这是一个调试工具)。

只有当您打开浏览器的开发人员工具时才会发生这种情况,所以严格来说不是问题(除非您想实际调试Bootstrap的CSS)。除此之外,还可能请求其他URL并产生相同的错误。

解决方案是在SendFile中添加一个显式错误处理程序,并假设当发生错误时,是因为文件不存在(因此应该产生404响应):

res.sendFile(path.resolve('./dist/client' + req.url), (err) => {
  if (err) return res.sendStatus(404);
});
 类似资料:
  • 问题内容: 我正在对GitHub上的此示例Angular2应用进行较小的修改,以使其使用Express.js而不是KOA。但是目前,当我尝试在FireFox中加载应用程序时,控制台中会显示以下错误: 当http请求触发路由器处理程序并返回时,Angular2应用程序开始加载,该处理程序返回,然后触发一系列嵌套依赖项的回调,其中一个引发错误并中途停止应用程序加载。 为了解决GitHub示例中的代码需

  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装:

  • 问题内容: 我安装了节点。然后我用安装了npm 。现在,当我尝试运行我得到 如何解决此错误? 问题答案: Ubuntu中有两个名称相似的软件包 node 和 nodejs 。 做这个, Description-zh:业余分组无线节点程序。节点程序接受TCP / IP和分组无线网络连接,并为用户提供一个接口,该接口允许他们使用各种业余无线协议与远程主机建立网关连接。 做这个, Description

  • 问题内容: 我想在我的一个golang控制器中指定一个html模板。我的目录结构是这样的 我想为请求/ new加载first.html。我已经将NewHandler用于url / new,并且当/ new请求到达并且在controller.go中时,NewHandler函数正在执行。这是我的代码 但是我遇到一个错误 请帮助我删除此错误。提前致谢 问题答案: 我已经通过提供html的绝对路径解决了这

  • 我正在尝试编写一个程序,使用Scala运行Linux命令。 我写了一段代码来运行命令的功能。 代码片段 当我尝试运行命令