【问题标题】:Node.js crashes! SyntaxError: Unexpected token ILLEGALNode.js 崩溃! SyntaxError:意外的令牌非法
【发布时间】:2020-05-19 07:15:49
【问题描述】:

突然没有任何效果。我唯一做的就是在“控制器”文件夹中添加一个新文件,然后将其删除。有什么问题?什么意思?

node/last/test4/controllers/.DS_Store:1

^

module.js:311
    throw err;
          ^
SyntaxError: Unexpected token ILLEGAL
    at Module._compile (module.js:429:25)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at /Users/henrikpetersson81/node/last/test4/controllers.js:8:13
    at Array.forEach (native)
    at Object.oncomplete (node/last/test4/controllers.js:6:15)

controllers.js(此文件自运行以来未发生任何更改):

var fs = require('fs');

module.exports = function(app, service){
    fs.readdir(__dirname + '/controllers', function(err, files){
        if (err) throw err;
        files.forEach(function(file){
            var name = file.replace('.js', '');
            require('./controllers/' + name)(app, service);
        });
    });
};

【问题讨论】:

    标签: node.js crash express


    【解决方案1】:

    这是因为 Mac 创建了一个文件 .DS_STORE。发生的事情是帮助程序自动通过控制器文件夹并包括它们。 Node 包含它,认为它是一个控制器并崩溃,因为它不是 JavaScript。

    【讨论】:

    • 或更改代码以忽略文​​件名以点开头的任何文件。这些文件传统上隐藏在 UNIX 中。它们可能不是您真正想要加载的控制器。
    • 感谢您的回答。我找到了该文件并将其删除。但是,现在我收到另一条错误消息(请参阅更新的问题)。 App.js 在项目的根目录下,从来没有在 ./controller 中,所以这真的很奇怪:/
    • 它正在尝试将 app.js 作为模块包含在这一行中:require('./controllers/' + name)(app, service); 但它不存在。
    • 哈哈,别管我最后的评论,我在尝试启动节点时在控制器文件夹中;)!编码 +10 小时后我累了,哈哈。
    猜你喜欢
    • 2012-11-07
    • 2015-12-16
    • 2019-08-07
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多