問題タブ [uglifyjs2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1117 参照

gulp-uglify - --mangle-regex オプションを gulp-uglify を使用して uglify に渡すにはどうすればよいですか?

--mange-regexUglifyJS2 の GItHub README に記載されているオプションを使用しようとしています。問題は、私のビルドが を使用しており、コマンドラインなしgulp-uglifyで使用する方法が明確に文書化されていないことです。--mangle-regex

私の目標は、「プライベート」識別子をマングルすることです(マッチング/^_/

私はもう試した:

ここでは何もしていません。少しの援助?

0 投票する
1 に答える
263 参照

javascript - 自動 browserify+uglify を使用してブラウザに node.js コードを提供する方法

5 つのファイルを含む node.js の単純な js コードがあります。

次に、compress.js requires set.js と util.js、set.js requires map.js を順にrequires vector.js と util.js で、このコードを自分の単純な Web サーバー (高速アプリ) からブラウザーに提供したいと考えています。 . どのようなオプションがありますか? 私は初心者なので、基本的な質問とそうでない質問があります。私のhtmlページからcompress.jsを含めたい場合、可能なオプションについて知りたいです。私が理解しているように、node.js およびブラウザーと互換性があるようにコードを変更できます。そのために私は何を使用しますか、require-js? コードがサーバー側とクライアント側と互換性がある場合、これは nodejs でどのように呼び出されますか? もう 1 つのオプションは、browserify を使用して、クライアント側で使用できるバージョンの compress.js を生成することです。

次に、そのcompress.jsファイルを縮小できる(そして対応するマップファイルを作成できる)uglify-jsがありますよね?

今の私の目標は、js コードを変更せずに、ブラウザーからアクセスできるようにすることです。そのためには、私が理解しているように、これらのファイルを自動的にブラウザ化 (たとえば、正しい順序で連結) し、uglify を介して結果を渡し、その場で結果を提供するサーバー側コードを実行する必要があります。私の理解では、compress.js というファイルを 1 つだけ含めて、そのコードを chrome でデバッグしようとすると、これらのすべてのファイルをそのまま chrome に含めたかのように、chrome デバッガーに表示されます。依存関係を含める nodejs スタイルの方法. 私は正しいですか、それを達成するためにどのツール/ライブラリを使用する必要がありますか?

次のステップは、そのオンザフライ変換の結果をキャッシュして、含まれているファイルのいずれかを変更した場合 (たとえば、ライブ サーバーで編集したり、変更されたバージョンに完全に置き換えたりした場合)、すべての依存ファイルが自動的に必要になるようにすることです。再生されます。これは、compress.js の次の GET で発生する可能性があります (たとえば、内部的にアプリの依存関係グラフで覚えて、それぞれで確認する必要がありますGET /compress.js)、または、何らかのファイルシステム/OS イベント フックを追加する必要があります。いずれかのファイルが変更されたときにアプリでイベントを発生させ、そのイベントにより、compress.js (またはその他のファイル) の browserified + uglified バージョンの再構築がトリガーされます。node.jsでそのようなことを行うための既存のオプションはありますか、それともすべて自分で実装する必要があります(その場合、どのライブラリツールを調べるべきですか?)

0 投票する
1 に答える
2780 参照

javascript - 縮小されたファイルから個々の JavaScript ファイル コードを抽出する

.js ファイルのリストがあり、ソース マップを含むこれらのファイルの縮小版が 1 つあります。縮小されたファイルは UglifyJS を使用して作成されています

縮小されたファイルから個々の js ファイルのコードを抽出することは可能ですか? 多分ソースマップを読んで?

例えば:

body.min.jsから胃.jsの縮小コード(文字列)を抽出することはできますか?

0 投票する
1 に答える
2607 参照

javascript - uglifyjs a javascript クラス - 予期しないトークン エラー

クラスを使用して新しい JavaScript を作成しようとしていますが、uglifyjs2 でコードを縮小しようとすると、「'予期しないトークン: 名前 (Utils)'」エラーが発生します。

これが私のクラスです

uglifyjsで縮小しようとすると、次のエラーが発生します

'予期しないトークン: name (Utils)',

これは、最初の行「class Utils {」のUに対応します。

uglifyjs2 が新しい ES6 標準を縮小する際にいくつかの問題があるように見えますが、それが問題なのか、それとも構文が欠けているだけなのかはわかりません。uglifyjs2 と grunt-contrib-uglify を試しましたが、同じエラーが発生します。

それがES6の問題である場合、新しいJSクラスを適切に縮小する方法について利用可能な解決策を知っている人はいますか? grunt で Babel (grunt-babel) を使用してコードを ES6 から ES5 にトランスパイルしようとしましたが、実際にはコード構造はまったく変更されませんでした。ES5のクラスの同等の形式は何ですか? これは私のトランスパイル後のコードです。

アップデート

Ok。そのため、正しい Babel プリセットとプラグインがインストールされておらず、Gruntfile にロードされていませんでした。だから私はそれらをインストールしましたが、まだ機能していません。Babel の実行中にエラーが発生する

「babel」タスクの実行

これが私のGruntfile構成です。node_modules と gruntfile は、アプリケーションのソース ファイルとは別の場所にあります。

私のアプリケーション ツリーは次のようになり、etc/ ディレクトリ内で grunt を実行しています。私のすべての JavaScript ファイルは、何レベルも下の js サブディレクトリ内にあります。

  • トランク/
    • 等/
      • node_modules/
      • Gruntfile.js
      • パッケージ.json
    • パイソン/
      • マーヴィン/
        • ウェブ/
          • 静的/
            • js/
              • es6/
                • ユーティリティ.js
            • css/

プリセット/プラグインが 1 つのディレクトリにあり、javascript ファイルが別のディレクトリにあることを babel 構成に伝えるにはどうすればよいですか?

0 投票する
0 に答える
284 参照

javascript - Node.jsとuglify2 jsでソースマップを生成するには?

私はこのコードを使用しています

https://github.com/mishoo/UglifyJS2

結合された縮小されたjsファイルを生成しますが、縮小されたファイルでデバッグできるようにソースマップを生成したいのですが、Node.jsコードでソースマップを作成する方法に関するドキュメントが見つかりません. 誰もそれを行う方法を知っていますか?

ありがとう

0 投票する
1 に答える
121 参照

node.js - browserify後の醜い - グローバル変数が失われた

package.json で次のコマンドを使用しています。

Initial.js の内部には、次のようなものがあります。

そして位置ファイルは次のようなものです:

問題は、なんらかの理由でグローバル スコープに含まれていないため、ConfigPosition が醜い後に失われることです。そこで何が起こるの?

0 投票する
0 に答える
298 参照

webpack - Webpack umd は、stacktrace-js の機能を壊しているようです

私たちは素晴らしい logary-js (私のプロジェクト) で stacktrace-js を使用しようとしていますが、webpack を通過した後は、もう機能しないようです。

webpack の構成は次のとおりですhttps://github.com/logary/logary-js/blob/c7fdec752e5ce33843d458e9e6c590657005c60a/webpack.config.js

私が気になる出力は次のとおりです(npm run build):

このブランチでは、UglifyJs を無効にしようとしましたが、役に立ちませんでした。

npm run testこの出力が得られます(抜粋):

したがって、dev での webpack-mocha の統合は非常にうまく機能しているように見えます。ただし、リリース後に他の JS の logary を使用すると、stacktrace-js から次の出力が得られます。

logary-js の stacktrace-js エンリッチャー

これらの単体テストを実行する必要がある場合 (mocha を実行するときは実行されますが、ブラウザーで実行するときは実行されません):