ReactJS (^16.13.0) рдФрд░ npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛, npm install --save-dev worker-loader
рдмрд╛рдж npm install [email protected]
npm install --save-dev worker-loader
рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИред рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рддреНрд░реБрдЯрд┐ #85 рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд this.WorkerClass is not a constructor
рддреНрд░реБрдЯрд┐ рдереАред
рдХрдВрд╕реЛрд▓ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдХрдИ рдмрд╛рд░ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ:
worker.ts:16 Uncaught TypeError: CreateListFromArrayLike called on non-object at self.onmessage
рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ,
let v = new Vibrant(IMG);
console.log(v);
рдкрд░рд┐рдгрд╛рдо (...), _src, рдФрд░ рдСрдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╛рдЗрдмреНрд░реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдмрдиреА рд░рд╣рддреА рд╣реИрдВред
рдореБрдЭреЗ рдЕрдкрдиреЗ рдХреЛрдгреАрдп 10 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред
рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 3.1.4 рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рдФрд░ рдЯреЛрдкреА рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ Vue рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╡рд╣реАред
рдХрдВрдкрди: 3.2.1.alpha-1
рджреЗрдЦреЗрдВ: 2.6.12
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 17.0.1 рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред ^3.1.4
(рдзрдиреНрдпрд╡рд╛рдж @a1Development!) рдпрд╛ ^3.1.6
рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
export const getColorPaletteFromBase64 = (base64String: string): Promise<Palette> => {
return new Promise((resolve, reject): void => {
const img = document.createElement('img');
img.src = base64String;
img.addEventListener(
'load',
async (): Promise<void> => {
const vibrant = new Vibrant(img);
const palette = await vibrant.getPalette();
resolve(palette);
},
);
});
};
^3.1.6
рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ!
рдзрдиреНрдпрд╡рд╛рдж, ^ 3.1.6 рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╣реБрдЖред
рдореБрдЭреЗ nuxt.js рдХреЗ рднреАрддрд░ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рдереА рдЬреЛ "рдиреЛрдб-рд╡рд╛рдЗрдмреНрд░реЗрдВрдЯ": "^ 3.2.1-рдЕрд▓реНрдлрд╛.1" рд╕реЗ "рдиреЛрдб-рд╡рд╛рдЗрдмреНрд░реЗрдВрдЯ": "3.1.6" рдореЗрдВ рдЪрд▓реА рдЧрдИред рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдзрдиреНрдпрд╡рд╛рдж, ^ 3.1.6 рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╣реБрдЖред