uglifyify
ハマりどころ
--keep_fnamesオプション
これがないとFunction.nameを消してしまう
例えばこういうカスタムエラーを宣言した時
code:error.js
class CustomError extends Error {
constructor (message) {
super(message)
this.message = message
this.name = 'CustomError'
}
}
CustomError.nameが省略されてしまう
code:handle-error.js
try {
throw new CustomError('やばい')
}
catch (err) {
switch (err.name) {
case CustomError.name: {
// ここで捕まえれなくなる
}
}
}
console.log(CustomError.name)すると"r"とかが返ってくる
まあinstanceofを使えばいいんだけど
ここまで書いて、deserialize-errorにそういうオプションを付けたらいいのかもしれないという事に気づいたshokai.icon
難しかった
deserialize-errorはsocket.io-requestの下にあるので