嘗試使用 node/javascript/nfts,我是一個菜鳥并遵循教程,但我收到此錯誤“錯誤 [ERR_REQUIRE_ESM]: ES 模塊 [...] 的 require() 不受支持。而是更改要求index.js [在我的檔案中...] 到所有 CommonJS 模塊中都可用的動態 import()。” 我的理解是他們已經更新了節點檔案,所以我需要一個與教程中不同的代碼,但我不知道我應該改變哪個,在哪里以及什么。請盡可能具體
const FormData = require('form-data');
const fetch = require('node-fetch');
const path = require("path")
const basePath = process.cwd();
const fs = require("fs");
fs.readdirSync(`${basePath}/build/images`).foreach(file).forEach(file => {
const formData = new FormData();
const fileStream = fs.createReadStream(`${basePath}/build/images/${file}`);
formData.append('file',fileStream);
let url = 'https://api.nftport.xyz/v0/files';
let options = {
method: 'POST',
headers: {
Authorization: '[...]',
},
body: formData
};
fetch(url, options)
.then(res => res.json())
.then(json => {
const fileName = path.parse(json.file_name).name;
let rawdata = fs.readFileSync(`${basePath}/build/json/${fileName}.json`);
let metaData = JSON.parse(rawdata);
metaData.file_url = json.ipfs_url;
fs.writeFileSync(`${basePath}/build/json${fileName}.json`, JSON.stringify(metaData, null, 2));
console.log(`${json.file_name} uploaded & ${fileName}.json updated!`);
})
.catch(err => console.error('error:' err));
})
uj5u.com熱心網友回復:
是因為node-fetch包。由于此軟體包的最新版本僅支持 ESM,您必須將其降級到舊版本[email protected]或更低版本。
npm i [email protected]
這應該可以解決問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/399843.html
標籤:javascript 节点.js nft
