vue.js - 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
解决方案
推荐阅读
- ios - UITableViewCell 的初始化失败(Swift)
- ios - 如果标签重叠,如何设置应该截断哪个标签?
- bootstrap-4 - 引导导航药丸不起作用
- bootstrap-4 - 如何在手机和桌面上向右浮动引导 4 个混合导航项目
- dart - 添加点击功能颤动
- camera - 如何方形裁剪 Flutter 相机预览
- c# - 在实体框架中配置两个 1-1 或 0 和 1-many 关系
- openshift - 为 minishift 中的詹金斯管道配置 cicd 到 github 时出错?
- javascript - firebase 验证链接 - 使用 localhost
- javascript - 网页上不可编辑的 JavaScript 代码?