【问题标题】:Node package 'node-fetch' SyntaxError: Unexpected identifier节点包 'node-fetch' SyntaxError: Unexpected identifier
【发布时间】:2021-11-25 01:59:17
【问题描述】:

我有问题。我正在尝试使用以下命令运行我的 NodeJS 脚本:

node /var/script/NodeJS/test.js

但是当我运行它时,我得到以下错误:

/var/script/NodeJS/node_modules/node-fetch/src/index.js:9
import http from 'http';
       ^^^^

SyntaxError: Unexpected identifier
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/var/script/NodeJS/test.js:2:15)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)

我已经在终端中运行了以下命令:

cd /var/script/NodeJS
npm install
npm install http
npm install node-fetch

我运行节点版本:v10.19.0

这是我给出的错误代码:

const express = require("express");
const fetch = require('node-fetch');
const app = express();
const PORT = process.env.PORT = 8787;
let router = express.Router();

这只是导入,但这段代码已经给出了提供的错误! 我可以在 node_module 文件夹中看到这两个模块,那么为什么会出现此错误以及如何解决此问题?

【问题讨论】:

标签: node.js npm


【解决方案1】:

将文件扩展名从.js重命名为.mjs

文件名必须是:test.mjs

import fetch from 'node-fetch';

const express = require("express");

const app = express();
let router = express.Router();


const PORT = process.env.PORT = 8787;

还要记住 node-fetch 对节点版本有要求:

https://github.com/node-fetch/node-fetch/blob/main/package.json#L14

  "engines": {
    "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
  },

运行为:node test.mjs


奖励:如果您不喜欢使用 mjs 等,请尝试安装 node-fetch@2.6.5

npm i --save node-fetch@2.6.5

【讨论】:

  • 这给了我同样的错误?
  • @A.Vreeswijk 最好放你的代码和节点版本
  • 对不起,我已经添加了
  • 您的最新编辑仍然给我错误,我应该将节点升级到最新版本吗?
  • @A.Vreeswijk 查看 node-fetch 在 12.20+、14.13.1+、16=+ 上受支持,请确保您在应该可以工作的版本上有错误
猜你喜欢
  • 1970-01-01
  • 2019-02-17
  • 2019-10-06
  • 2021-06-09
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多