Questo è davvero esasperante. Non riesco a trovare da nessuna parte nel mio codice dove sto facendo qualcosa di illegale, ma per qualche ragione, chiamando fork
fa esplodere il mio programma. Ecco il codice. La parte relativa è in svgToPNG, dove chiamo fork
.Token imprevisto di Coffeescript ILLEGAL, ma non ci dovrebbe essere nulla di illegale
{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
Se prendo la linea fork
fuori e sostituirlo con qualcosa d'altro, tutto è Hunky Dory, ma se lo lascio a, ottengo:
> 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
non ha senso. Non ho alcun strano carattere unicode illegale come in this question, non credo di avere alcun tipo di errore di analisi come in this one ... Non so davvero cosa sta succedendo.
Potrebbe essere che CoffeeScript stia in qualche modo infrangendo il codice? Sembra davvero improbabile, ma non lo so.
Quale file stai convertendo? Non dovrebbe essere 'convert svg: somefilename png: -'? – hpaulj
Hai provato a compilare questo script, quindi esegui 'js' con' node'? Se il 'js' sembra buono allora il problema non è con il coffeescript. – hpaulj
@hpaulj il file svg viene reindirizzato nello standard input del processo. –