問題タブ [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.
gulp-uglify - --mangle-regex オプションを gulp-uglify を使用して uglify に渡すにはどうすればよいですか?
--mange-regex
UglifyJS2 の GItHub README に記載されているオプションを使用しようとしています。問題は、私のビルドが を使用しており、コマンドラインなしgulp-uglify
で使用する方法が明確に文書化されていないことです。--mangle-regex
私の目標は、「プライベート」識別子をマングルすることです(マッチング/^_/
)
私はもう試した:
と
ここでは何もしていません。少しの援助?
javascript - 自動 browserify+uglify を使用してブラウザに node.js コードを提供する方法
5 つのファイルを含む node.js の単純な js コードがあります。
次に、compress.js require
s set.js と util.js、set.js require
s map.js を順にrequire
s 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でそのようなことを行うための既存のオプションはありますか、それともすべて自分で実装する必要があります(その場合、どのライブラリツールを調べるべきですか?)
- これは私が望むものを生成するように見えます(マップ付きのブラウザー化+醜いバージョン): https://github.com/gulpjs/gulp/blob/master/docs/recipes/browserify-uglify-sourcemap.md
javascript - 縮小されたファイルから個々の JavaScript ファイル コードを抽出する
.js ファイルのリストがあり、ソース マップを含むこれらのファイルの縮小版が 1 つあります。縮小されたファイルは UglifyJS を使用して作成されています
縮小されたファイルから個々の js ファイルのコードを抽出することは可能ですか? 多分ソースマップを読んで?
例えば:
body.min.jsから胃.jsの縮小コード(文字列)を抽出することはできますか?
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
- es6/
- css/
- js/
- 静的/
- ウェブ/
- マーヴィン/
- 等/
プリセット/プラグインが 1 つのディレクトリにあり、javascript ファイルが別のディレクトリにあることを babel 構成に伝えるにはどうすればよいですか?
javascript - Node.jsとuglify2 jsでソースマップを生成するには?
私はこのコードを使用しています
https://github.com/mishoo/UglifyJS2
結合された縮小されたjsファイルを生成しますが、縮小されたファイルでデバッグできるようにソースマップを生成したいのですが、Node.jsコードでソースマップを作成する方法に関するドキュメントが見つかりません. 誰もそれを行う方法を知っていますか?
ありがとう
node.js - browserify後の醜い - グローバル変数が失われた
package.json で次のコマンドを使用しています。
Initial.js の内部には、次のようなものがあります。
そして位置ファイルは次のようなものです:
問題は、なんらかの理由でグローバル スコープに含まれていないため、ConfigPosition が醜い後に失われることです。そこで何が起こるの?
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 から次の出力が得られます。
これらの単体テストを実行する必要がある場合 (mocha を実行するときは実行されますが、ブラウザーで実行するときは実行されません):