Webpack捆绑前如何获取文件的__dirname

时间:2019-10-06 19:46:24

标签: node.js typescript webpack

我正在制作和处理序列化和动态导入的应用程序:我使用类似这样的东西序列化某些类的对象

static void cosSin(double angle) {
    double cos = Math.cos(angle);
    double sin = Math.sin(angle);
    System.out.printf("%.4f : %.1f %.1f \n", angle, cos, sin);
}

public static void main(String[] args) {
    System.out.println("Radians: (cos, sin)");
    double angle = 0.0;
    double piDivideTwo = Math.PI / 2.0;
    double pi = Math.PI;
    cosSin(angle);        // 0,0000 :  1,0 0,0
    cosSin(piDivideTwo);  // 1,5708 :  0,0 1,0
    cosSin(pi);           // 3,1416 : -1,0 0,0
}

这样,尽管我没有保存构造函数名称或有关原型或东西的任何信息,所以我将构造函数名称保存在属性fs.write('savename.json', JSON.stringify(someObject.getSerializable()), () => console.log('done')) 中,如下所示:

type

但是以这种方式,我不会保存其完整路径,因此当我尝试动态导入时

export default class SomeObjectClass {

  // [...]

  getSerializable(): string {
    return {
      type: this.constructor.name,
      ...this
    }
  }
}

它只是失败了,因为该模块位于我项目中某个位置的嵌套文件夹中。 我试图像这样将const plainObject = fs.readFileSync('savename.json').toString(); const ctor = await import(plainObject.type); const object = new ctor.default(); // this fails 连接起来

__dirname

但是它不起作用,因为捆绑export default class SomeObjectClass { // [...] getSerializable(): string { return { type: path.join(__dirname, this.constructor.name), ...this } } } 后,返回相对于分发文件夹的路径,该文件夹的结构与我的源文件夹不同。

所以。如何在运行时进行Webpack处理之前获取文件路径? 显然,我们欢迎其他解决方案。

欢呼

0 个答案:

没有答案