質問編集履歴

1

ソースコードを記載できておらず失礼いたしました

2022/05/18 14:44

投稿

kkk1997
kkk1997

スコア1

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,130 @@
1
1
  **前提・実現したいこと**
2
2
  ---
3
- [前提]javascriptでモジュールを使い、importを試みましたが関数が定義されません。
3
+ [前提]javascriptでモジュールを使い、import/exportを試みましたが関数が定義されません。
4
4
 
5
5
  [実現したいこと]
6
- 簡単なクイズアプリを作成中です
6
+ HTML・CSS・javascriptを用いて簡単なクイズアプリを作成中です
7
+ まず初めにjavascriptから新たに2つファイルを作成しました。
8
+ その内のquiz_data_jp.jsファイルで書いたクイズ問題を
9
+ もう一方のscript.jsファイルにexportさせ、クイズ問題を反映させたいと考えております。
7
10
 
11
+ **起きている問題・エラーメッセージについて**
12
+ ---
13
+ quiz_data_jp.jsファイル⇨script.jsファイルにexportを試みましたが、
14
+ 関数quizDataJpが定義されません。
8
15
 
16
+ [エラーメッセージについて]
17
+ ---
18
+ vscode上で、関数名quizDataJpにカーソルを合わせると
19
+ 『'quizDataJp' が宣言されていますが、その値が読み取られることはありません。ts(6133)』
20
+ と、上記のように表示されます。
21
+ 素人ながら必死に解決を目指し、模索いたしましたが力及ばず此方のサイトにて質問をいたしました。
22
+
23
+ **お教えいただきたいことについて**
24
+ ---
25
+
26
+ ・import先で関数(変数)が定義出来ない原因
27
+ ・その解決策
28
+
29
+ 貴重なお時間の中、大変恐れ入りますが
30
+ お教えいただけますとありがたく存じます。
31
+ 拙い文章でお読みづらく恐縮ですが何卒よろしくお願いいたします。
32
+
33
+ **該当のソースコードについて**
34
+ ---
35
+ ```html
36
+ <!DOCTYPE html>
37
+ <html lang="ja">
38
+ <head>
39
+ <meta charset="UTF-8">
40
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
41
+ <title>薄毛対策クイズ</title>
42
+ <link rel="stylesheet" href="style.css">
43
+ <script type="module" src="./script.js" defer></script>
44
+ <script type="module" src="./quiz_data_jp.js" defer></script>
45
+ </head>
46
+ <body>
47
+ <div id="quiz-container">
48
+ <div id="quiz-header">
49
+ <h2 id="question">Question text</h2>
50
+
51
+ <form id="quiz-form" name="quizForm">
52
+ <ul>
53
+ <li>
54
+ <input type="radio" id="a" name="answer" value="a" />
55
+ <label id="a-text" for="a">Quesition</label>
56
+ </li>
57
+ <li>
58
+ <input type="radio" id="b" name="answer" value="b" />
59
+ <label id="b-text" for="b">Question</label>
60
+ </li>
61
+ <li>
62
+ <input type="radio" id="c" name="answer" value="c" />
63
+ <label id="c-text" for="c">Question</label>
64
+ </li>
65
+ <li>
66
+ <input type="radio" id="d" name="answer" value="d" />
67
+ <label id="d-text" for="d">Question</label>
68
+ </li>
69
+ </ul>
70
+ </form>
71
+ </div>
72
+
73
+ <button id="submit">回答する</button>
74
+ <button id="submit">ヒント</button>
75
+
76
+ <div id="results-container">
77
+ <div id="results-header">
78
+ <h2 id="results"></h2>
79
+ <button id="next-quiz">次の問題へ進む</button>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </body>
84
+ </html>
85
+ ```
86
+
87
+ ```javascript
88
+ //こちらのコードがquiz_data_jp.jsです。
89
+ const quizDataJp = [
90
+ {
91
+ question: '頭皮改善を行なう上で効果的ではに習慣は次の内どれ?',
92
+ a: '毎日湯舟に浸かる',
93
+ b: 'ふくらはぎのマッサージ',
94
+ c: '就寝時は頭から携帯を離す',
95
+ d: '短時間睡眠',
96
+ correct: 'd'
97
+ },
98
+ {
99
+ question: '自毛植毛を行う上でデメリットは複数あるが、次の内デメリットとして当てはまらないものはどれ?',
100
+ a: '手術後に生え揃うまで早くて一年は掛かる',
101
+ b: '植毛によって生えてきた髪の毛にはカラーが出来ない',
102
+ c: '密度を濃くしすぎてしまうと生着率が下がる恐れがある',
103
+ d: '10%の確率で生着しない失敗リスクがある',
104
+ correct: 'b'
105
+ },
106
+
107
+
108
+ ];
109
+
110
+ export const question = quiz_data_jp.js;
111
+ ```
112
+
113
+ ```javascript
114
+ //こちらのコードがscript.jsです。
115
+
116
+ import { quizDataJp } from "./quiz_data_jp.js";
117
+
118
+ // 質問
119
+
120
+ const questionElm = document.getElementById('question');
121
+
122
+ // 質問文
123
+ const a_text = document.getElementById('a-text');
124
+ const b_text = document.getElementById('b-text');
125
+ const c_text = document.getElementById('c-text');
126
+ const d_text = document.getElementById('d-text');
127
+
128
+ // 送信ボタン
129
+ const submitBtn = document.getElementById('submit');
130
+ ```