teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

追記

2018/09/26 14:13

投稿

daoneko23
daoneko23

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  javascript初心者の高校生です。よろしくお願いいたします。
2
2
 
3
- 使用したライブラリのバージョンはwebpackが4.20.1、webpack-cliが3.1.1です。
3
+ 使用したライブラリのバージョンはwebpackが4.20.1、webpack-cliが3.1.1です。([webpack公式ドキュメント](https://webpack.js.org/concepts/)
4
4
 
5
5
  とても初歩的な質問ですが、webpackを使ってjavascript(es6以降)を圧縮する際にメソッド名と変数名が勝手にeやiに置き換わってしまうのですがこの機能を切って、ただ単に改行やスペース、コメントだけを削除させるようにするにはどうすればよいのでしょうか。
6
6
  おそらくwebpack.config.jsに何かオプションを指定することができるのだろうとは思うのですが、公式ドキュメントを読んでもどれがそれにあたるのかわからなかったので、、、

2

webpackのバージョンとコードの書き方を正しました。

2018/09/26 14:13

投稿

daoneko23
daoneko23

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,14 @@
1
1
  javascript初心者の高校生です。よろしくお願いいたします。
2
2
 
3
+ 使用したライブラリのバージョンはwebpackが4.20.1、webpack-cliが3.1.1です。
4
+
3
5
  とても初歩的な質問ですが、webpackを使ってjavascript(es6以降)を圧縮する際にメソッド名と変数名が勝手にeやiに置き換わってしまうのですがこの機能を切って、ただ単に改行やスペース、コメントだけを削除させるようにするにはどうすればよいのでしょうか。
4
6
  おそらくwebpack.config.jsに何かオプションを指定することができるのだろうとは思うのですが、公式ドキュメントを読んでもどれがそれにあたるのかわからなかったので、、、
5
7
  オプション名と指定する場所を教えていただければ幸いです。
6
8
 
7
9
  もう1点、次のようなコードを書き、
8
- =============================================================
9
10
  <test.js>
11
+ ```Javascript
10
12
  const webpack = require("webpack");
11
13
  const fs = require("fs");
12
14
 
@@ -28,17 +30,23 @@
28
30
  console.log(next.toString());
29
31
  });
30
32
 
33
+ ```
31
34
  <in.js>
35
+ ```Javascript
32
36
  function test(){
33
37
  const te = 34;
34
38
  console.log(te);
35
39
  }
36
- =============================================================
40
+ ```
41
+ コマンドプロンプトで
42
+ ```
43
+ node test.js ./src/js/in.js
44
+ ```のように実行したところ、
45
+ ```
46
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t){}]);
37
47
 
38
- node test.js ./src/js/in.jsのように実行したところ、
48
+ ```
39
49
 
40
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t){}]);
41
-
42
50
  というような圧縮どころかむしろ長くなったコードが出力される上、置き換えられないはずの34という値すらも消えているのですがこれはどういうことなのでしょうか。正直全くわからないのでご指摘いただければありがたいです。
43
51
 
44
52
  よろしくお願いいたします。

1

追記 結果がおかしい点

2018/09/26 14:10

投稿

daoneko23
daoneko23

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,44 @@
1
- javascript初心者です。よろしくお願いいたします。
1
+ javascript初心者の高校生です。よろしくお願いいたします。
2
2
 
3
3
  とても初歩的な質問ですが、webpackを使ってjavascript(es6以降)を圧縮する際にメソッド名と変数名が勝手にeやiに置き換わってしまうのですがこの機能を切って、ただ単に改行やスペース、コメントだけを削除させるようにするにはどうすればよいのでしょうか。
4
4
  おそらくwebpack.config.jsに何かオプションを指定することができるのだろうとは思うのですが、公式ドキュメントを読んでもどれがそれにあたるのかわからなかったので、、、
5
5
  オプション名と指定する場所を教えていただければ幸いです。
6
6
 
7
+ もう1点、次のようなコードを書き、
8
+ =============================================================
9
+ <test.js>
10
+ const webpack = require("webpack");
11
+ const fs = require("fs");
12
+
13
+ var inputFile = process.argv[2];
14
+
15
+ const compiler = webpack({
16
+ mode : "production",
17
+ entry : inputFile,
18
+ output : {
19
+ filename : "tmp.js",
20
+ },
21
+ optimization : {
22
+ minimize : true,
23
+ }
24
+ });
25
+
26
+ compiler.run((err,stats) => {
27
+ var next = fs.readFileSync("./dist/tmp.js");
28
+ console.log(next.toString());
29
+ });
30
+
31
+ <in.js>
32
+ function test(){
33
+ const te = 34;
34
+ console.log(te);
35
+ }
36
+ =============================================================
37
+
38
+ node test.js ./src/js/in.jsのように実行したところ、
39
+
40
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t){}]);
41
+
42
+ というような圧縮どころかむしろ長くなったコードが出力される上、置き換えられないはずの34という値すらも消えているのですがこれはどういうことなのでしょうか。正直全くわからないのでご指摘いただければありがたいです。
43
+
7
44
  よろしくお願いいたします。