2

私はJavascriptコードを文字列内(Javascript内)に配置できるようにしようとしています。私は自分のgruntjsタスクを使用して、すべてのjavascriptファイルを読み取り、文字列内に配置しています。

var modules = []; modules['filename.js'] = "code here...."

これは単純なJavascriptクラスでは機能しますが、外部ライブラリをそのような形式(JQuery、Ember.js、Underscore)で配置すると、失敗します。"コード内のそれぞれをに置き換えています\"。しかし、まだ構文エラーが発生しています。私はそれがいくつかの正規表現に関係しているかもしれないと思っています、あるいは、いくつかの部分で彼らはいくつかの二重引用符を逃れたかもしれません。

編集:コードはここにあります:https ://github.com/TheHydroImpulse/resolve.js しかし、具体的にはビルドスクリプト(gruntjs)はここにあります:https ://github.com/TheHydroImpulse/resolve.js/blob/master/ examples / basic / grunt.js

助言がありますか?

4

2 に答える 2

1

ここでは暗闇の中で野生の刺し傷があります(1時間以内にここでハロウィーンになりました)が、すべてを1行にまとめていないため、複数行の文字列を正しく処理していない可能性があります...

または、ファイルを1行にまとめて、必要に応じてセミコロンを追加していない可能性があります。

uglifyなどの縮小用ツールを使用してから、ライブラリで縮小化されたjavascriptの1行として試してみることをお勧めします。

于 2012-10-30T21:54:48.887 に答える
1

JSコードをそのまま維持するには、文字列に保存する前にコードをエンコードし、使用する前に文字列をデコードする必要があります。

どちらの操作も、組み込みのJavaScript関数encodeURIComponent()およびdecodeURIComponent()を使用して実行できます。

于 2012-10-31T23:59:05.870 に答える