プロトタイプの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
私はたくさんのコードを持っているので、これは実際にはどこにでも「デバッガー」を書くためのオプションではありません。
熟練した方法でデバッグするにはどうすればよいですか?