質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

678閲覧

APIについて(javasprict、node.js)

m.can

総合スコア2

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2022/05/31 12:42

javasprict、APIについての質問です。
プログラミング初心者ですので、質問の内容が分かりにくいかもしれませんが、よろしくお願いします。

現在ある動画を見ながらプログラミングを勉強しているのですが、
エラーが出て困っています。(動画通りに入力していると思います)
言語はjavasprict、処理系node.jsです。
また、vscordを使っています。

コードとターミナルを載せております。

1行目のrequireの部分を訂正しないといけないのかな?とは
思うものの、どうすれば良いのかがわかりません。
正しいコードをご教授して頂けないでしょうか。

ターミナルにて、npm i node-fetchや npm init実行済みです。

個人情報に繋がりそうな部分は消しています。ご理解のほどよろしくお願いします。

const fetch = require('node-fetch');

const ACCESS_TOKEN = '○○○';
const ENDPOINT = 'https://△△△';
const STREAM_ENDPOINT = 'https://◇◇◇';

fetch(${ENDPOINT}/v3/accounts, {
headers: {
'Content-type': 'application/json',
Authorization: Bearer ${ACCESS_TOKEN},
},
}).then(async (response) => {

console.log(await(response.json()));
});

——————————————-
——————————————-

以下ターミナル

ターミナルで node index.jsを実行

/Users/Desktop/ファイル名/index.js:1
const fetch = require('node-fetch');
^

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/Desktop/ファイル名/node_modules/node-fetch/src/index.js from /Users/Desktop/ファイル名index.js not supported.
Instead change the require of /Users/Desktop/ファイル名/node_modules/node-fetch/src/index.js in /Users/Desktop/ファイル名/index.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (/Users/Desktop/ファイル名/index.js:1:15) {
code: 'ERR_REQUIRE_ESM'

アドバイス頂けたら幸いです。。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

const fetch = require('node-fetch');

import fetch from 'node-fetch';
に変えた場合いかがでしょうか。


package.json内でコメント//はエラーになると思います。
また"type":"module"の指定は下記のようにします。
package.jsonを下記で置き換えてみて下さい。

js

1{ 2 "name": "ファイル名", 3 "version": "1.0.0", 4 "main": "index.js", 5 "scripts": { 6 "test": "echo \"Error: no test specified\" && exit 1" 7 }, 8 "author": "", 9 "license": "ISC", 10 "dependencies": { 11 "node-fetch": "^3.2.4" 12 }, 13 "description": "", 14 "type": "module" 15} 16

投稿2022/05/31 12:52

編集2022/05/31 14:26
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.can

2022/05/31 13:09

qnoir様 ご教授ありがとうございます。 ご助言の通り、 const fetch = require('node-fetch'); を import fetch from 'node-fetch';に 変更したところ下記のエラーが出ました。 構文(コード)にエラー?のようですが、 どうすれば良いのでしょうか。 お忙しいとは存じますが、ご教授頂けないでしょうか。 /Users/j/Desktop/ファイル名/index.js:1 import fetch from 'node-fetch'; ^^^^^^ SyntaxError: Cannot use import statement outside a module at Object.compileFunction (node:vm:352:18) at wrapSafe (node:internal/modules/cjs/loader:1033:15) at Module._compile (node:internal/modules/cjs/loader:1069:27) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47
退会済みユーザー

退会済みユーザー

2022/05/31 13:23

package.jsonに "type": "module", を追加してみて下さい。
m.can

2022/05/31 14:05

qnoir様 何度もアドバイスいただきありがとうございます。 package.jsonに // package.json { "type": "module" } を追加しました。 以下package.jsonになります。 { "name": "ファイル名", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "node-fetch": "^3.2.4" }, "description": "" // package.json { "type": "module" } } ーーーーーーーー ターミナル MacBook-Air ファイル名 % node index.js node:internal/modules/cjs/loader:317 throw e; ^ SyntaxError: Error parsing /Users/Desktop/ファイル名/package.json: Unexpected token / in JSON at position 254 at parse (<anonymous>) at readPackage (node:internal/modules/cjs/loader:304:20) at readPackageScope (node:internal/modules/cjs/loader:329:19) at shouldUseESMLoader (node:internal/modules/run_main:43:15) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:72:24) at node:internal/main/run_main_module:17:47 { path: '/Users/Desktop/ファイル名/package.json' } ーーーーー プログラミングを始めたばかりで心が折れそうですが、何度もアドバイスいただいて励みになります!ありがとうございます。 at readPackage (node:internal/modules/cjs/loader:304:20) こちらのエラーメッセージは、package.jsonの20行目にエラーがあると言う意味かと思ったのですが、20行目は空欄でした。 この304:20はどのような意味があるのでしょうか。
退会済みユーザー

退会済みユーザー

2022/05/31 14:26

追記しました。package.jsonの書き方が間違っています。回答欄後半のようにpackage.jsonを修正してください。
m.can

2022/05/31 14:49

qnoir様 何度もありがとうございました。 うまく動作しました。 本当にありがとうございます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問