0

プロトタイプのWebアプリケーションを構築していて、それをChrome Webページに統合したいと思っています(本番環境では必要ありません)。そのため、すべてのjsファイルを1つのリクエストに送信し、その結果をChrome拡張機能クライアントに送信して整理して簡単にするためのバックエンドソリューションを構築しました。

myBackend.coffee(私自身のnodejsサーバー)

getScript = (name) ->
  filename = "#{__dirname}/../public/js/#{name}.js"
  fs.readFileSync(filename, 'utf-8')

get '/chrome/includes', (req, res) ->
  scripts = [
    getScript 'vendor/jquery'
    getScript 'vendor/jquery.ui'
    getScript 'vendor/mousetrap'
    getScript 'vendor/mustache'
    getScript 'vendor/backbone'
    #...
    getScript 'main-chrome'
  ]

  res.send
    scripts: scripts
    css: [
      #...
    ]

backckground.coffee(クロームクライアント)

$.ajax
  url: "http://localhost:3001/chrome/includes"

  success: (data) ->
    compactedCode = ''
    _.each data.scripts, (code) ->
      compactedCode += code

    chrome.tabs.executeScript tab.id, code: compactedCode

わかりました。これで問題ありませんが、「compatedCode」で間違ったコードを実行すると問題が発生します。

Chromeは教えてくれます:

Uncaught TypeError:undefinedは関数(匿名関数)ではありませんが、エラーがどこにあるかはわかりません。

https://docs.google.com/file/d/0B6tc60GuFE4WSk4zTXhzV1luOE0/edit?usp=sharing

私はたくさんのコードを持っているので、これは実際にはどこにでも「デバッガー」を書くためのオプションではありません。

熟練した方法でデバッグするにはどうすればよいですか?

4

1 に答える 1

0

さて、私はここで素晴らしい解決策を見つけました: http://code.google.com/p/chromium/issues/detail?id=95352

これを追加するだけで、素晴らしい

compactedCode += "\n//@ sourceURL=foo.js"
于 2013-02-11T11:09:32.173 に答える