小编tit*_*300的帖子

如何在 JSON 文件中搜索特定位置?

我正在尝试导入一个大型 JSON 文件,但出现此错误:

Unexpected token , in JSON at position 197031914
Run Code Online (Sandbox Code Playgroud)

我如何去那个位置修复它?

谢谢!

json node.js visual-studio-code

11
推荐指数
2
解决办法
1万
查看次数

如何使用 jsDoc 在自定义组件中记录此关键字?

我正在使用 Vuejs 内联模板组件,我们在 javascript 文件中注册组件,在 html 中注册模板。

该组件看起来像这样:

Vue.component('compare-benefits', {
  data() {
     // the "this" keyword in methods should refer to this object
     return {
        ...state,
        isLoading: false,
     }
  },
  methods: {
    getData() {
       // I want the "this" keyword here to reference the object return in data above 
       this.isLoading = true;
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

如果您不熟悉 Vue,这里发生的事情是 Vue 框架会将this您的方法中的关键字绑定到您从 data() 方法返回的对象。

我如何在此处使用 jsDoc 并告诉它this此处的关键字实际上是在引用该对象?

编辑:使用 jsDoc 的主要原因不是创建文档,而是在 vscode 中使用智能感知和类型检查@ts-check

intellisense jsdoc typescript vue.js visual-studio-code

8
推荐指数
1
解决办法
491
查看次数

在派生类而不是类本身上添加新方法有什么好处?

出于个人学习的目的,我试图了解Winston的软件包设计结构以及每个模块背后的目的,但我无法理解这一点.

在Winstons包中,logger.js模块中有核心Logger类,它实现了记录器的主要功能,并提供了一些公共方法,例如方法.它还实现了内部使用的转换流方法.logger.log

然后在create-logger.js模块中有一个派生类,DerivedLogger它扩展了Logger类,它的唯一目的似乎是为loggers原型添加优化级别方法.DerivedLogger然后将该类实例化并导出到模块底部的工厂函数中.

我的问题是,为什么DerivedLogger需要上课?如果将这些级别方法添加到Logger类原型本身然后让工厂函数Logger直接实例化该类,那么性能会有什么不同吗?我能想到的唯一原因是,这个DerivedLogger类可能只是为了模块化目的而添加的吗?有人可以帮我理解原因吗?

谢谢!

javascript node.js winston

4
推荐指数
1
解决办法
58
查看次数

即使可用的堆内存比使用的大得多,也会导致堆溢出内存错误

即使我使用以下命令运行具有高堆内存的节点时,我也会收到以下错误: node --max-old-space-size=8000 manipulateFiles.js

FATAL ERROR: invalid table size Allocation failed - JavaScript heap out of memory
1: 0x8dc510 node::Abort() [node]
2: 0x8dc55c  [node]
3: 0xad9b5e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
4: 0xad9d94 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
5: 0xec7bf2  [node]
6: 0x102d7b2 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::Allocate(v8::internal::Isolate*, int, v8::internal::PretenureFlag) [node]
7: 0x1030946 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::Rehash(v8::internal::Handle<v8::internal::OrderedHashMap>, int) [node]
8: 0x1030f69 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::EnsureGrowable(v8::internal::Handle<v8::internal::OrderedHashMap>) [node]
9: 0x1114c7e v8::internal::Runtime_MapGrow(int, v8::internal::Object**, v8::internal::Isolate*) [node]
10: 0x908bb15be1d 
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

崩溃时使用的堆内存量为1.79G。可用量为6.15G。我使用了 v8 模块并process获得了这些数字。

所以显然除了堆大小之外还有其他原因导致了这个问题。该模块基本上扫描一个大型 CSV 文件并构建一个 Map 以供以后在此过程中参考。该映射最多可以有 …

javascript dictionary v8 node.js es6-map

2
推荐指数
1
解决办法
1256
查看次数