私は現在、Windowsでnode.jsを使用してプロジェクトを構築しています。バッチファイルを使用して、コマンドラインからリソースをアセンブルし、jadeテンプレートを作成しています。Jadeでは、スイッチ-oを使用して、テンプレート内のローカライズされたコンテンツを埋めるJSオブジェクトを定義しています。
しばらくの間、すべてがうまく機能しました。ただし、JSONルックアップを変更すると、「入力行が長すぎます」というエラーが発生しました。
エラーを調べたところ、Windowsシェルには行の長さに制限があることがわかりました。残念ながら、プロジェクトにはルックアップオブジェクト全体が必要です。しかし、jadeがファイルの内容を含む文字列ではなく、ルックアップファイルへのパスを受け入れることができるかどうか疑問に思い始めました。現在、コンテンツを変数に組み込み、そのalaを使用してjadeを呼び出しています。
SetLocal EnableDelayedExpansion
set content=
for /F "delims=" %%i in (%sourcedir%\assets\english.json) do set content=!content! %%i
::use the json file as a key for assembling the jade templates
call jade %sourcedir% --out %destdir% -o"%content%"
EndLocal
ルックアップファイルへのパスを使用できれば、はるかに簡単になります。しかし、私はそれを行う方法を知っています(それが可能である場合でも)。ジェイドのドキュメントは少し不足しています。
つまり、Jadeは、オブジェクトを含む文字列ではなく、JSオブジェクトへのファイルパスを受け入れることができますか?限界を超えない翡翠の呼び出しを構築するためのより良い方法はありますか?