小编jun*_*var的帖子

电子5.0.0“未捕获的ReferenceError:需求未定义”

我最初使用电子稳定(4.xx),并且能够require在我的浏览器和渲染器过程中使用。我升级到电子beta(5.0.0),因为我需要较新版本的node并在渲染器过程中遇到此错误消息Uncaught ReferenceError: require is not defined

谷歌浏览电子文档,我发现有评论说该错误可能是由webPreferences.nodeIntegration初始化BrowserWindow; 时设置为false 引起的。例如:new BrowserWindow({width, height, webPreferences: {nodeIntegration: false}});。但是我没有这样做,所以我认为还有其他问题,并继续寻求解决方案。

javascript require node.js electron

31
推荐指数
10
解决办法
1万
查看次数

从开发者控制台访问私人成员?

以前,我会使用旧的约定,即使用_后缀或前缀来命名私有字段。

class X{
  constructor() {
    this.privateField_;
  }
  
  privateMethod_() {}
}
Run Code Online (Sandbox Code Playgroud)

现在,通过该符号可以实现真正的私有可访问性#,我已经使用过它们了一些。

class X{
  #privateField;

  #privateMethod() {}
}
Run Code Online (Sandbox Code Playgroud)

但我遇到的一种情况是在调试时需要访问这些私有成员。但是当然,它们是私有的,所以我不能,除非我编写一些仅调试的包装器/访问器,如果我事先不知道需要调试哪些字段/类,那么这是不切实际的。通过_命名约定,很容易故意绕过。

使用 chrome 开发控制台时,有没有办法绕过 private 修饰符,就像它允许您在块await之外使用一样async

javascript private private-members google-developers-console class-fields

7
推荐指数
1
解决办法
985
查看次数

节点 `https.get` 返回 403,`axios.get` 和 `curl` 返回 200

我正在尝试使用 Node 的本机https模块和第 3 方axios模块(非常常用)执行 GET 请求:

const endpoint = 'https://www.pathofexile.com/api/trade/data/stats';

require('axios')
    .get(endpoint)
    .then(response => console.log('axios', response.status));
// prints 200

require('https')
    .get(endpoint, {},
        response => console.log('https', response.statusCode));
// prints 403
Run Code Online (Sandbox Code Playgroud)

axios请求按预期正常工作;response.data我也可以查看。但https请求失败并返回 403。

  • 奇怪的是,几个月前我上次检查时,两者都可以工作。
  • 我尚未更新计算机上的 Node(节点 v 14.5.0)。我也在另一台机器上尝试过(13.3.0)。
  • curl从命令行也可以正常工作。

由于https曾经工作过,我的预感是服务器一定已经改变了一些东西,并且https.get必须axios.get做一些稍微不同的事情(例如默认发送不同的标头),而服务器不再对此漠不关心。

javascript node.js axios

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

异步标注的替代方案?

假设我们有一个简单的前端和(如果需要的话,假设Angular)和一个后端应用程序。假设前端应用发出了get请求。通常,角度存储库发出一个$http.get请求,该请求返回一个承诺(角度1)或一个可观察到的可转换为承诺的对象(角度2或4),然后该存储库返回该承诺。然后,角度服务看起来像

repository.makeTheGetCall().then(function (response) {
  // process response
}); 
Run Code Online (Sandbox Code Playgroud)

通常没关系。

1)但是,如果服务上的所有逻辑都依赖于此1调用怎么办?然后,我们实质上将整个服务嵌套在.then子句中。

2)或者,如果根据第一个Get请求的响应,我们又发出另一个请求。然后根据该响应,发出另一个请求,依此类推。然后,我们将束缚一堆then子句。

两种情况似乎都不罕见,并且两种情况都导致看起来“丑陋”的代码。是否可以使用其他实践来允许异步调用,而不必从存储库层向服务层返回promise?

谢谢 :)

javascript asynchronous repository-pattern promise angularjs

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

如何将ng模型功能添加到组件

传递给child指令的ng-model上的角度ng-change

基本上,我希望能够将ng-model从父指令传递给子指令.我可以只使用双向绑定值,但是后来我无法在子元素的父指令中使用ng-change.我也可以使用ng-click,但这不适用于非单击更改(例如文本区域而不是复选框).所以我想知道是否有一种方法允许自定义指令具有类似于输入,按钮,文本区域和其他html元素的ng-model/ng-change对.我想避免使用emits,ons,watch,传递回调等.我只是希望能够在自定义指令而不是输入上执行[input type ="checkbox"ng-model ="ngModel"].

父模板

<child ng-model="x" ng-change="x()"></toggle>
Run Code Online (Sandbox Code Playgroud)

家长指令

$scope.x = function() {console.log('hi')};
Run Code Online (Sandbox Code Playgroud)

儿童模板

<div>
     <input type="checkbox" ng-model="ngModel">
</div>
Run Code Online (Sandbox Code Playgroud)

儿童指令?

$scope.ngModel = $element.controller('ngModel'); 
Run Code Online (Sandbox Code Playgroud)

我的角度版本是1.4.8 btw.

谢谢 :)

angularjs angularjs-directive angularjs-ng-change angularjs-ng-model angularjs-components

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