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

我得到错误:fs。js:36}=原基;^ReferenceError:未定义原语

左丘照
2023-03-14

我得到以下错误,我的节点版本是:12.18当我运行npm开始启动我的项目

 fs.js:36
  } = primordials;
^

ReferenceError: primordials is not defined
at fs.js:36:5

有人回答说gulp和node 12存在问题(如何修复ReferenceError:在node中未定义原语)

但是我在我的项目中没有使用gulp,也没有安装gulp。

下面是我的包裹。json

{
    "name":"myapp",
    "version":"1.0.0",
    "description":"",
    "scripts":{
        "start":"node server.js",
        "test":"echo \"Error: no test specified\" && exit 1"
    },
    "author":"MJX",
    "license":"ISC",
    "dependencies":{
        "body-parser":"^1.19.0",
        "express":"^4.17.1",
        "express-handlebars":"^2.0.1",
        "mssql":"^6.2.1",
        "mysql":"^2.18.1",
        "nodemon":"^1.19.4",
        "npm":"^5.10.0"
    },
    "devDependencies":{
        "handlebars-helper-css":"^0.1.0"
    }
}

还有我的服务器。js:

var express = require("express");
var bodyParser = require("body-parser");

var PORT = process.env.PORT || 4300;

var app = express();

app.use(express.static("public"));

app.use(bodyParser.urlencoded({ extended: true }));

app.use(bodyParser.json());

var exphbs = require("express-handlebars");

app.engine("handlebars", exphbs({ defaultLayout: "main" }));
app.set("view engine", "handlebars");

var routes = require("./controllers/burgersController.js");

app.use(routes);

app.listen(PORT, function() {
    console.log("App now listening at localhost:" + PORT);
});

共有2个答案

杨飞语
2023-03-14

在项目根文件夹中创建一个名为npm-shrinkwrap.json的文件。

将以下代码添加到文件中:

{
   "dependencies": {
      "graceful-fs": {
         "version": "4.2.2"
      }
   }
}
濮阳和泰
2023-03-14

如果查看错误消息中未提供的堆栈跟踪:

ReferenceError: primordials is not defined
    at fs.js:35:5
    at req_ (C:\Users\Patrick\Desktop\test\node_modules\natives\index.js:143:24)
    at Object.req [as require] (C:\Users\Patrick\Desktop\test\node_modules\natives\index.js:55:10)
    at Object.<anonymous> (C:\Users\Patrick\Desktop\test\node_modules\graceful-fs\fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Module.require (internal/modules/cjs/loader.js:1026:19)
    at require (internal/modules/cjs/helpers.js:72:18)

您会发现错误源于本地人模块。运行npm ls natives,您可以确定它是express handlebar的子依赖项:

myapp@1.0.0 C:\Users\Patrick\Desktop\test
`-- express-handlebars@2.0.1
  `-- graceful-fs@3.0.12
    `-- natives@1.1.6

您的express车把依赖性已经过时。正在从^2.0更新它。1至^5.1。0修复了您的问题,但您确实不应该忽略其余的审核消息:

found 146 vulnerabilities (80 low, 15 moderate, 51 high)
  run `npm audit fix` to fix them, or `npm audit` for details

 类似资料:
  • 我知道这个问题已经被问了很多次(例如-这里),但是要么解决方案不起作用,要么不适合我的场景。上面链接中提供的解决方案是: 解决方案:要么升级到gulp 4,要么降级到较早的节点。 所以,这里是我所拥有的: 节点: 12.18.1() •吞咽:CLI 2.3。0,本地版本4.0。2() 我已经创建了全新的反应应用程序: 然后我转到app文件夹(react app)并在语义UI站点上执行以下命令:

  • 问题内容: 我收到此错误消息, 这是我的标题。 以下是我的JavaScript代码 以下是HTML 我想在输入标签上显示日期选择器。 我正在使用Bootstrap V3.1。 问题答案: 在使用$或jQuery的脚本之前 添加jQuery库 , 以便可以在脚本中标识$。

  • 我试图将util模块对象传递给puppeteer,但没有成功。我知道这个问题是在如何将所需的模块对象传递给puppeteer page.evaluate中提出的,但提供的解决方案在我的情况下不起作用。MWE: 显示错误: UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:计算失败:ReferenceError:未定义util 谢谢 在初始行中

  • 问题内容: 我正在Ubuntu平台中使用jquery,javascript,php。在页面中,我通过jquery发送一个ajax请求到php文件并获取响应文本。该程序已在Windows-(Wamp)平台和联机环境中成功运行。但是在Ubuntu中,我遇到了JavaScript错误。代码如下… 在Ubuntu中,我收到此错误, “ Uncaught ReferenceError:$未定义” 。该错误显

  • 我在node.js中编译代码时出现了这个错误,我该如何修复它呢? RefernceError:未定义fetch 这就是我正在做的函数,它负责从特定的电影数据库中恢复信息。

  • 问题内容: 我正在尝试从Java代码调用Java脚本函数。 这是我的Java代码 这是我的Java脚本文件: 但是当我运行驱动程序类的主要方法时,它给我错误如下: 我所知道的是它需要一些脚本引擎来执行它。 为此,我在类路径中添加了rhino.jar文件,但这不起作用。 我没有得到如何解决这个错误。请帮助。谢谢。 问题答案: 不是JavaScript的一部分,而是Web浏览器提供的对象的一部分。所以