在动态函数中使用 Webpack 导入的模块

时间:2021-01-31 06:42:47

标签: javascript typescript vue.js webpack

我正在使用 Vue CLI 创建一个应用程序,并且在某些时候我希望用户能够即时修改和运行一个函数。更具体地说,我的 App Updates

中有这个
effetcs/effect.ts

在我的 import { HexColor, HSLColor, PixelColor, PixelColorArray, RGBColor, } from "./color"; import { CustomizationOptions } from "./customization-options"; export class DefaultRainbowEffect extends Effect { constructor() { super("Default rainbow effect", { staticEffect: false, colors: (prevColors: PixelColorArray, length: number) => { let hue = prevColors.colors[0].color.toHSL().h + 1; const arr: PixelColor[] = []; for (let i = 0; i < length; ++i) { arr.push(new PixelColor(i, new HSLColor(hue, 100, 50).toRGB())); hue += 10; } return new PixelColorArray(arr); }, }); } } 中,我将 Home.vue 函数绑定到输入的 colors,以便用户可以修改和运行它。当我在输入中打印它时,它看起来像这样 -

v-model

我注意到 Webpack 更改了导入,这看起来很麻烦。有什么方法可以在函数内编写实际的类名,如 function colors(prevColors, length) { var hue = prevColors.colors[0].color.toHSL().h + 1; var arr = []; for (var i = 0; i < length; ++i) { arr.push(new _color__WEBPACK_IMPORTED_MODULE_5__["PixelColor"](i, new _color__WEBPACK_IMPORTED_MODULE_5__["HSLColor"](hue, 100, 50).toRGB())); hue += 10; } return new _color__WEBPACK_IMPORTED_MODULE_5__["PixelColorArray"](arr); } 并在 RGBColoreval 构造函数中使用它?或者,也许我在函数体中写了名字,并在将它们传递给 eval 之前有某种方法将它们转换为它们的 webpack 等效项?

0 个答案:

没有答案