我正在尝试在Node中测试alphavantage模块,并且不断抛出此错误:
import Util from './lib/util';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1055:16)
at Module._compile (internal/modules/cjs/loader.js:1103:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1159:10)
at Module.load (internal/modules/cjs/loader.js:988:32)
at Function.Module._load (internal/modules/cjs/loader.js:896:14)
at Module.require (internal/modules/cjs/loader.js:1028:19)
at Object.<anonymous> (C:\Users\thepa\Desktop\FANSchool\FANEconimics\app.js:1:15)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1159:10)
文件结构:
"C:\Users\thepa\Desktop\FANEconimics\app.js"
"C:\Users\thepa\Desktop\FANEconimics\data.json"
"C:\Users\thepa\Desktop\FANEconimics\keys.txt"
"C:\Users\thepa\Desktop\FANEconimics\LICENSE"
"C:\Users\thepa\Desktop\FANEconimics\package.json"
"C:\Users\thepa\Desktop\FANEconimics\package-lock.json"
"C:\Users\thepa\Desktop\FANEconimics\README.md"
"C:\Users\thepa\Desktop\FANEconimics.git"
"C:\Users\thepa\Desktop\FANEconimics\node_modules"
"C:\Users\thepa\Desktop\FANEconimics.gitignore"
app.js:
const alpha = require("alphavantage")({ key: 'mykey' });
alpha.data.intraday(`msft`).then(data => {
console.log(data);
});
在运行节点app.js之后发生。我看到旧版本的节点不支持ESM导入,因此我更新到了最新版本v13.5.0。还更新了npm v6.13.4
这是模块还是我的设置有问题?
老实说,这是图书馆的错误。他们正在使用实验性功能,而无需转换其代码。
我的建议是不要使用节点包,而应该使用REST API。
安装提取以轻松使用API:
npm i --save node-fetch
然后运行这样的事情:
const fetch = require("node-fetch")
const base = "https://www.alphavantage.co/"
const apikey = "demo"
const query = (function_name, symbol, interval = "5min") => fetch(
base + "/query?" + new URLSearchParams({ "function": function_name, symbol, interval, apikey })
)
query("TIME_SERIES_INTRADAY", "MSFT")
.then(response => response.json())
.then(data => {
console.log(data)
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句