首页 > 解决方案 > Vuejs Webpack 构建输出几个同名的类

问题描述

我在各个 .js 文件中定义了几个类,并在不同的地方导入。

这些在本地运行的服务器中完美运行,但是在为部署而构建时,这些类中的每一个最终都具有相同的名称:n.

我怀疑这通常不会成为问题,但是我将这些类名用作某些本地数据存储的对象键,并且它们互相踩踏。

有没有办法强制 Webpack 不更改为变量名?或者某种方式让 Webpack 意识到这些都需要不同?

代码示例:

class Custom1 extends Model {/*constructor and stuff*/}
class Custom2 extends Model {/*constructor and stuff*/}
class Custom3 extends Model {/*constructor and stuff*/}

然后使用这样的类名:

var myDataObject = {};
myDataObject[Custom1.name] = 'value 1';
myDataObject[Custom2.name] = 'value 2';
myDataObject[Custom3.name] = 'value 3';

正如预期的那样产生:

{
    'Custom1': 'value 1',
    'Custom2': 'value 2',
    'Custom3': 'value 3',
}

然而,一旦构建和部署,它只是

{
    'n': 'value 3
}

记录每个类的名称总是会产生“n”:

console.log(Custom1.name); //'Custom1' locally, 'n' after packing
console.log(Custom2.name); //'Custom2' locally, 'n' after packing
console.log(Custom3.name); //'Custom3' locally, 'n' after packing

标签: vue.jswebpack

解决方案


推荐阅读