我正在尝试使用npm模块(https://github.com/AmyrAhmady/steamdb-js),但是当我使用示例代码时,出现了“ SyntaxError:无法在模块外部使用import语句”。
这是示例代码:
import { Game } from "steamdb-js";
async function main() {
const game = new Game(271590);
await game.fetchData();
const data = await game.parse();
//console.log(data); // This prints out all parsed data, you can use it for easier in-code usage
console.log(game.getGameInfo());
}
main();
这是错误:
PS C:\Users\user\Desktop\Développement\TEST> node .\index.js
C:\Users\selim\Desktop\Développement\TEST\index.js:1
import { Game } from "steamdb-js";
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1116:16)
at Module._compile (internal/modules/cjs/loader.js:1164:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
at Module.load (internal/modules/cjs/loader.js:1049:32)
at Function.Module._load (internal/modules/cjs/loader.js:937:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
是我的错还是npm模块的错?
自从创建此线程以来已经有一段时间了,但是当涉及到我创建的库时,我认为有责任回答。
首先,示例和steamdb-js代码使用的是ES5标准(例如import
和export
语法)。首先需要启用这些标准,然后才能使用最新的可用Nodejs版本或使用编译器;如果您不使用Node + v13或不知道该怎么做,这是我的建议:
npm i esm
node ./index.js
使用node -r esm ./index.js
现在一切都应该正常工作,并且steamdb-js
应该能够““执行”“”
我要强调一下,execute
因为现在有一个问题,我们知道Steamdb正在使用CloudFlare,他们启用了“ Under Attack”模式,这是可以忽略的问题,但可悲的是由于CloudFlare的新变化,我怀疑当前库目前可以正常工作,一旦找到解决方法,我将立即更新库。
谢谢!
(我在Stackoverflow上的第一篇文章!)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句