これは本当に怒っています。私は何か違法行為を行っているコードのどこにも見つからないが、何らかの理由でfork
と呼ぶと私のプログラムが爆発する。ここにコードがあります。関連する部分はsvgToPNGにあり、私はfork
と呼んでいます。Coffeescript予期しないトークンILLEGAL、違法なものはないはずです
{fork} = require 'child_process'
{Coral} = require 'coral'
svgToPNG = (svg, reply, log) ->
log "converting SVG to a PNG"
# set up a child process to call convert svg: png:-
convert = fork '/usr/bin/env', ['convert', 'svg:', 'png:-']
log "Spawned child process running convert, pid " + convert.pid
# set up behavior when an error occurs
convert.stderr.on "data", ->
log "Error occurred while executing convert"
reply "error"
# set up behavior for when we successfully convert
convert.stdout.on "data", ->
log "Successful conversion! :)"
log "here's the data: " + data
reply data
# pipe the SVG into the stdin of the process (starting it)
convert.stdin.end svg
私はfork
ラインを取り、何か他のものと交換した場合は、すべてがドーリー互角のですが、私はそれを残せば、私が手:
> coffee src/coral_client.coffee
finished doing conversion to svg!
converting SVG to a PNG
Spawned child process running convert, pid 60823
/usr/bin/grep:1
(function (exports, require, module, __filename, __dirname) { ����
^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
それは意味がありません。私はthis questionのような奇妙な違法なユニコードキャラクターを持っていません。私はどのような種類のパースエラーがあるとは思わないthis one ...私は本当に何が起こっているのか分かりません。
CoffeeScriptが何とかコードを壊している可能性はありますか?それは本当らしくないようですが、わかりません。
どのファイルを変換していますか?それは 'svg:somefilename png:-'を変換するべきではありませんか? – hpaulj
このスクリプトをコンパイルして、 'node'を使って' js'を実行しようとしましたか? 'js'がうまくいけば、問題はcoffeescriptではありません。 – hpaulj
@hpaulj svgファイルはプロセスの標準入力にパイプされます。 –