小编Eri*_*ton的帖子

Angular CLI 6:放置库依赖项的位置

我正在转换库(ng-app-state)以使用angular cli,现在v6支持库(yay!).

在一些代码中进行脚手架和复制之后,这是我的第一个问题:

我如何/在哪里添加第三方依赖项?

package.json,或到projects/ng-app-state/package.json

angular-cli angular-cli-v6

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

利用Play服务和AdMob SDK

作为MH.在这个问题中指出,如果他们包含Google Play服务,则不再需要在他们的Android项目中包含GoogleAdMobAdsSdk-xxxjar(请参阅迁移指南).但是,我想,而且我遇到了麻烦.

问题是:google-play-services_lib项目包含一个com.google.ads.AdRequest不推荐使用的定义,并且有一个私有构造函数.它最终出现在AdMob jar前面的类路径中(在"Android Private Libraries"条目中),所以当我尝试在我的代码中使用它时,它最终会尝试使用已弃用的,导致错误:The constructor AdRequest() is not visible.我认为没有办法重新订购"Android私人图书馆"中的条目.

你问我为什么要同时使用这两种?我有一个包含许多有用类的库项目,包括一些用于处理Play服务和AdMob的实用程序类.我使用该库项目的一些应用程序使用AdMob实用程序类,但不使用Play服务.

android admob google-play-services

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

具有多个目标的架构师命令无法指定替代

我正在转换库(ng-app-state)以使用angular cli,现在v6支持库(yay!).

尝试运行某些CLI命令时,它会失败,并显示如下错误:

$ ng test --source-map ng-app-state
Architect commands with multiple targets cannot specify overrides.'test' would be run on the following projects: ng-app-state-monorepo,ng-app-state
Error: Architect commands with multiple targets cannot specify overrides.'test' would be run on the following projects: ng-app-state-monorepo,ng-app-state
    at TestCommand.validate (S:\Programming\git repositories\ng-app-state-monorepo\node_modules\@angular\cli\models\architect-command.js:91:23)
Run Code Online (Sandbox Code Playgroud)

angular-cli angular-cli-v6

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

从 gapi.client.load 中捕获错误

我将 Google App Engine 与 Java 和 Google Cloud Endpoints 结合使用。在我的 JavaScript 前端,我使用此代码来处理初始化,建议

var apisToLoad = 2;
var url = '//' + $window.location.host + '/_ah/api';
gapi.client.load('sd', 'v1', handleLoad, url);
gapi.client.load('oauth2', 'v2', handleLoad);
function handleLoad() {
    // this only executes once,
    if (--apisToLoad === 0) {
        // so this is not executed
    }
}
Run Code Online (Sandbox Code Playgroud)

gapi.client.load失败时如何检测和处理?目前,我在 JavaScript 控制台上打印了一条错误消息,内容为:Could not fetch URL: https://webapis-discovery.appspot.com/_ah/api/static/proxy.html). 也许那是我的错,或者它是 Google 的一个临时问题——现在这不是我关心的问题。我正在尝试利用这个机会在客户端很好地处理此类错误。

那么 - 我该如何处理呢? handleLoad没有为 errs 调用执行,gapi.client.load似乎没有单独的错误回调(参见文档),它实际上并没有抛出错误(仅将其打印到控制台),并且它不返回任何内容。我错过了什么?到目前为止,我唯一的想法是设置超时并假设初始化在 X …

javascript google-cloud-endpoints

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

GAE + JUnit:将blob添加到blobstore

我正在使用Google App Engine for Java,我正在尝试为处理blobstore的代码编写JUnit测试.如何在blobstore中放置blob以在测试期间使用(在配置为使用LocalBlobstoreServiceTestConfig将所有内容保存在内存中之后)?似乎解决方案应该非常简单和基本,但不知怎的,我找不到它.

我想可以使用Files API,但我已经避开了它,因为它已经停止(下周).

我知道测试之外将blob放入blobstore的唯一方法是通过多部分表单上传.但是,我不知道如何在JUnit测试的上下文中这样做.

也可以通过blobstore API与Google Cloud Storage对象进行交互,但我选择使用vanilla blobstore,这样我就不需要将另一个服务(及其客户端库)循环到我的应用程序中.

所以我再次问,如何在那里获得一个blob,以便我可以测试使用它的代码?

java google-app-engine automated-tests blobstore

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

使TSLint遵循JS文件中的规则

我在Visual Studio Code中使用TSLint(通过TSLint扩展),它非常适合.ts文件.它也运行在.js文件上,这很好,但它不使用相同的规则,这对我来说很糟糕(对我而言).我怎样才能使用相同的规则?

tslint.json看起来像这样:

{
  "extends": "tslint:latest",
  "rules": {
    "indent": [true, "tabs"],
    // a bunch of others
  }
}
Run Code Online (Sandbox Code Playgroud)

例如,我在.js文件中收到此警告:

[tslint] space indentation expected (indent)
Run Code Online (Sandbox Code Playgroud)

(当我的规则设置好时,它希望我使用空格缩进"tabs".)

tslint visual-studio-code

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

缓存来自 BehaviorSubject 的管道结果

使用 rxjs,我有一个昂贵的计算来映射来自 a 的结果BehaviorSubject

const obs$ = sameBehaviorSubject.pipe(map(expensiveComputation));
Run Code Online (Sandbox Code Playgroud)

然后在我的代码的多个其他部分中,我订阅了该 observable。每次我订阅时,它都会重新运行expensiveComputation。我怎样才能防止这种情况?

rxjs

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

过滤 BehaviorSubject

我有一个BehaviorSubject我希望能够做到的filter,但要保持新订阅者在订阅时始终获得一个值的行为主题式质量,即使最后发出的值被过滤掉。有没有一种简洁的方法可以使用 rxjs 的内置函数来做到这一点?例如:

const isEven = (n) => n % 2 === 0;
const source = new BehaviorSubject(1);
const stream = source.pipe(filter(isEven));
stream.subscribe((n) => console.log(n)); // <- I want this to print `1`
source.next(2); // prints `2`; that's good
source.next(3); // does not print anything; that's good
Run Code Online (Sandbox Code Playgroud)

我已经编写了自己的实现,但如果它很容易,我更喜欢使用现有运算符的更简单的解决方案。

rxjs

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