質問編集履歴

3

webpack.config.jsをwebpack.config.jsonと間違って記載していたので修正しました。

2020/11/14 04:02

投稿

gomigorou
gomigorou

スコア7

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [https://github.com/buzz/mediainfo.js](https://github.com/buzz/mediainfo.js)
6
6
 
7
- 上記サイトのReact.jsでの使用例をみると、webpack.config.jsonにて設定しています。
7
+ 上記サイトのReact.jsでの使用例をみると、webpack.config.jsにて設定しています。
8
8
 
9
9
  ですが、create-react-appを用いて環境構築すると、それが内部にラップされ、ejectしないと編集できない様です。
10
10
 

2

記載を全体的に変更しました。

2020/11/14 04:02

投稿

gomigorou
gomigorou

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- [mediainfo.js](https://github.com/buzz/mediainfo.js)というnpmを、React.jsで使用しようとしております。
1
+ [mediainfo.js](https://github.com/buzz/mediainfo.js)というnpmパッケージを、React.jsで使用しようとしております。
2
2
 
3
3
 
4
4
 
@@ -10,23 +10,71 @@
10
10
 
11
11
 
12
12
 
13
- ejectしなくても、react-app-rewiredというnpmを用いてwebpack.config.json上書きできるとの事なので、やってみました。
13
+ react-app-rewiredというnpmパッケージを用いると、ejectしなくwebpack.configを編集できるとの事なので、やってみました。
14
-
15
- 下記サイトなどを参考にしました。
16
-
17
- [https://github.com/reedyrm/react-wasm-migration](https://github.com/reedyrm/react-wasm-migration)
18
-
19
- [Using WebAssembly in your ReactJS App | KOALA42](https://koala42.com/using-webassembly-in-your-reactjs-app/)
20
14
 
21
15
 
22
16
 
23
- 作成したものがこちらです。
17
+ ```
24
18
 
25
- [ottonove/test_mediainfo](https://github.com/ottonove/test_mediainfo)
19
+ // config-override.js (webpack.config.jsを上書きするもの)
26
20
 
27
21
 
28
22
 
23
+ const { resolve } = require('path');
24
+
25
+ const CopyPlugin = require('copy-webpack-plugin');
26
+
27
+
28
+
29
+ const wasmFile = resolve(
30
+
31
+ __dirname,
32
+
33
+ 'node_modules',
34
+
35
+ 'mediainfo.js',
36
+
37
+ 'dist'
38
+
39
+ );
40
+
41
+ const dist = resolve('build', 'static', 'js');
42
+
43
+
44
+
45
+ // template from https://www.npmjs.com/package/react-app-rewired
46
+
47
+ module.exports = {
48
+
49
+ webpack: function(config, env) {
50
+
51
+ config.plugins.push(new CopyPlugin({
52
+
53
+ patterns: [
54
+
55
+ { from: wasmFile, to: dist },
56
+
57
+ ],
58
+
29
- 実行すると、
59
+ }),)
60
+
61
+ return config;
62
+
63
+ },
64
+
65
+ }
66
+
67
+ ```
68
+
69
+
70
+
71
+ こちらがプロジェクト全体です。
72
+
73
+ [https://github.com/ottonove/test_mediainfo](https://github.com/ottonove/test_mediainfo)
74
+
75
+
76
+
77
+ "npm run build"で生成されたものは正常に動作するのですが、"npm run start"で動作させると、下記のエラーとなります。
30
78
 
31
79
  ```
32
80
 
@@ -34,11 +82,19 @@
34
82
 
35
83
  ```
36
84
 
85
+
86
+
37
- というエラーになります。
87
+ 下記の警告も出ております。
88
+
89
+ ```
90
+
91
+ wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
92
+
93
+ ```
38
94
 
39
95
 
40
96
 
41
- パス設定やファイルの配置が間違っているのでしょうか?
97
+ どの様に設定と、"npm run start"でも動作する様になるのでしょうか?
42
98
 
43
99
 
44
100
 

1

eject を reject と間違って記述していたため修正しました。

2020/11/14 03:37

投稿

gomigorou
gomigorou

スコア7

test CHANGED
File without changes
test CHANGED
@@ -6,11 +6,11 @@
6
6
 
7
7
  上記サイトのReact.jsでの使用例をみると、webpack.config.jsonにて設定しています。
8
8
 
9
- ですが、create-react-appを用いて環境構築すると、それが内部にラップされ、rejectしないと編集できない様です。
9
+ ですが、create-react-appを用いて環境構築すると、それが内部にラップされ、ejectしないと編集できない様です。
10
10
 
11
11
 
12
12
 
13
- rejectしなくても、react-app-rewiredというnpmを用いてwebpack.config.jsonを上書きできるとの事なので、やってみました。
13
+ ejectしなくても、react-app-rewiredというnpmを用いてwebpack.config.jsonを上書きできるとの事なので、やってみました。
14
14
 
15
15
  下記サイトなどを参考にしました。
16
16