我开始使用模板文字来制作错误生成器.
我有工作代码,但我被迫在constructor范围内声明可能的错误列表,我对此并不满意.
有没有办法复制模板文字而不评估它,所以我可以在正确的范围内评估它?或者将范围传递给模板文字?
工作error.js:
'use strict';
class Error {
constructor(code) {
const error = {
//...
//API
1001: 'No token',
1002: `${arguments[1]}`,
1003: `${arguments[1]} ! ${arguments[2]}`,
1004: 'Missing data'
//...
};
let i = 0;
this.code = code;
this.error = error[code];
//...
}
}
// export default Error;
module.exports = Error;
Run Code Online (Sandbox Code Playgroud)
被称为:
'use strict';
const Error = require('./error.js');
console.log(new Error(1002, 'var'));
Run Code Online (Sandbox Code Playgroud)
我想要的是能够const error在模块范围内声明,或者更好的是,在它自己的文件中声明我require.但是现在这样做导致argument不是那个constructor,而是模块之一.