我在执行npm run build时遇到以下错误:
Angular编译器需要TypeScript> = 3.4.0和<3.5.0,但是找到了3.5.3。
我已经尝试过分别进行以下操作:
npm install typescript @“> = 3.4.0 <3.5.0”。然后删除node_modules和package.json。运行npm install
npm更新--force。然后删除node_modules和package.json。运行npm install
我仍然收到错误:
我的package.json包含以下依赖项:
"dependencies": {
"@angular/animations": "8.1.0",
"@angular/cdk": "^8.0.2",
"@angular/cli": "^8.1.0",
"@angular/common": "8.1.0",
"@angular/compiler": "8.1.0",
"@angular/core": "8.1.0",
"@angular/forms": "8.1.0",
"@angular/http": "7.2.15",
"@angular/material": "^8.0.2",
"@angular/platform-browser": "8.1.0",
"@angular/platform-browser-dynamic": "8.1.0",
"@angular/router": "8.1.0",
"@ngx-translate/core": "^11.0.1",
"@ngx-translate/http-loader": "^4.0.0",
"angular-user-idle": "^2.1.2",
"angular2-cookie": "^1.2.6",
"core-js": "^2.6.7",
"rxjs": "6.5.2",
"rxjs-tslint": "^0.1.5",
"stream": "0.0.2",
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.801.0",
"@angular/compiler-cli": "8.1.0",
"@angular/language-service": "8.1.0",
"@types/jasmine": "~3.3.13",
"@types/jasminewd2": "~2.0.6",
"@types/node": "~12.6.1",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1", …Run Code Online (Sandbox Code Playgroud) 我有一个有角度的表格,我想对其进行一些验证。现在,当第一次加载文本区域并且我输入违反验证的内容时,它不会显示错误。
当我将焦点转移到其他元素时,就会显示错误。
但是,此后每当出现违规时,都会立即显示错误,而无需更改焦点。
<form [formGroup]="AddEditform" novalidate autocomplete="off">
<mat-form-field appearance="outline">
<textarea matInput name="user" formControlName="users" id="user">
</textarea>
<mat-error
*ngIf="!AddEditform.valid && AddEditform.get('users').hasError('maxlength')"
>
Exceeded maximum length
</mat-error>
</<mat-form-field>
</form>
AddEditform: FormGroup;
constructor(
private fb: FormBuilder,
) { }
ngOnInit() {
this.AddEditform = this.fb.group({
users: [
'',
[
Validators.maxLength(100)
],
],
});
}
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种行为?为什么第一次本身,在不需要更改焦点的情况下验证不会发生?
我希望在 Flutter 中播放来自 webrtc 连接的远程流的音频。flutter webrtc 的示例使用RTCVideoRenderer,但我的例子中没有视频。远程流仅包含音频。
简而言之:
pc.onTrack = (event) {
// how can I play the Audio stream in event.streams[0] ?
};
Run Code Online (Sandbox Code Playgroud)
代码:
MediaStream _localStream = await createStream();
RTCPeerConnection pc = await createPeerConnection({});
_localStream.getTracks().forEach((track) async => await pc.addTrack(track, _localStream));
pc.onTrack = (event) {
// how can I play the Audio stream in event.streams[0] ?
};
Future<MediaStream> createStream() async {
final Map<String, dynamic> mediaConstraints = {
'audio': true,
'video': false
};
MediaStream stream = await MediaDevices.getUserMedia(mediaConstraints);
return …Run Code Online (Sandbox Code Playgroud) 我有一个 Kubernetes Cron Job 每 5 分钟运行一次计划任务。我想确保在下一个计划时间创建新的 pod 时,较早的 pod 应该已终止。较早的 Pod 应在创建新 Pod 之前终止。Kubernetes 可以在创建新的 pod 之前终止较早的 pod 吗?
我的yaml是:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-scheduled
spec:
schedule: "*/5 * * * *"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 1
jobTemplate:
spec:
template:
spec:
containers:
- name: cmm-callout
env:
- name: SCHEDULED
value: "true"
livenessProbe:
httpGet:
path: /myapp/status
port: 7070
scheme: HTTPS
initialDelaySeconds: 120
timeoutSeconds: 30
periodSeconds: 120
image: gcr.io/projectid/folder/my-app:9.0.8000.34
restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)
如何确保在创建新 Pod 之前终止较早的 Pod?
yaml google-cloud-platform kubernetes google-kubernetes-engine
我想列出在 node.js 中的特定时间戳之后已更改/添加到 Google 云存储桶中的文件。我正在查看文档https://cloud.google.com/storage/docs/how-to但没有找到任何机制。
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const bucketName = 'my-bucket';
const [files] = await storage.bucket(bucketName).getFiles();
Run Code Online (Sandbox Code Playgroud)
如何列出存储桶中时间戳之后添加的文件?
java node.js google-cloud-storage google-cloud-platform google-cloud-functions
我将 Angular 7 与 Material Snackbar 一起使用。我想将 Snackbar 的颜色更改为绿色。
在 app.component.ts 中,我有:
this.snackBarRef = this.snackBar.open(result.localized_message, 'X', {
duration: 4000,
verticalPosition: 'top',
panelClass: 'notif-success'
});
this.snackBarRef.onAction().subscribe(() => {
this.snackBarRef.dismiss();
});
Run Code Online (Sandbox Code Playgroud)
在 app.component.scss 中,我有:
.notif-success {
color: #155724 !important; // green
background-color: #d4edda !important;
border-color: #c3e6cb !important;
.mat-simple-snackbar-action {
color: #155724 !important;
}
}
Run Code Online (Sandbox Code Playgroud)
但是 Snackbar 仍然以其默认颜色显示。
我可以看到notif-success 类已经应用到snackbar
<snack-bar-container class="mat-snack-bar-container ng-tns-c18-84 ng-trigger ng-trigger-state notif-success mat-snack-bar-center mat-snack-bar-top ng-star-inserted" role="status" style="transform: scale(1); opacity: 1;">
Run Code Online (Sandbox Code Playgroud)
为什么自定义 css 不起作用?
我有一个私有的谷歌云功能。所以我想使用Authorization: Bearer tokenHeader对 Cloud Function 进行身份验证。但我得到401 Unauthorized的回应。
我使用以下方法创建了私有云函数:
gcloud beta 函数部署 MyFunction --runtime go111 --trigger-http --memory 128 --region us-central1 --source gs://bucketname/code.zip
我创建了一个服务帐户并为其分配了访问云功能的权限:
gcloud beta 函数 add-iam-policy-binding MyFunction --member=serviceAccount:cf-access@my-project.iam.gserviceaccount.com --role=roles/cloudfunctions.admin
输出:
bindings:
- members:
- serviceAccount:cf-access@my-project.iam.gserviceaccount.com
role: roles/cloudfunctions.admin
etag: BwWOGyVdpDg=
version: 1
Run Code Online (Sandbox Code Playgroud)
现在,我下载了服务帐户 json 文件。
所以现在为了访问 Cloud Function,我需要添加带有 Bearer 令牌的 Authorization Header。为了生成不记名令牌,我使用以下 java 代码:
String fileName = "path/service-account.json";
FileInputStream keyFileInputStream = new FileInputStream(fileName);
GoogleCredential credential = GoogleCredential.fromStream(keyFileInputStream).createScoped(Collections.singleton(ContainerScopes.CLOUD_PLATFORM));
credential.refreshToken();
String token = credential.getAccessToken();
Run Code Online (Sandbox Code Playgroud)
我在授权标头中使用此令牌。
网址-
us-central1-[项目].cloudfunctions.net/MyFunction
标题-
授权:承载 …
我有一个测试计划,例如:
-Test Plan
- Thread Group
- Cookie Manager
- Login
- Play
Run Code Online (Sandbox Code Playgroud)
登录操作返回播放操作所需的会话 cookie,为此我使用了 Cookie 管理器。
现在,登录操作应该只发生一次,播放操作应该发生 1000 次。我该怎么做?我知道线程组中的每个线程都代表单个用户。那么我应该如何安排这个测试呢?
我在 Angular 8 中有以下代码:
fetchMedia() {
this.mediaDetails.forEach(entry => {
this.fetchSingleMedia(entry); // NEED TO MAKE THIS SEQUENTIAL
}
});
}
fetchSingleMedia(entry) {
this.mediaService.getMedia(entry).subscribe(
(data) => {
// MY LOGIC HERE
},
error => {}
);
}
Run Code Online (Sandbox Code Playgroud)
该fetchSingleMedia方法也被代码的其他部分使用。我想将逻辑保留在 fetchSingleMedia 本身中
现在,如果我必须依次向fetchSingleMedia方法发出多个请求,我需要如何修改fetchSingleMedia方法和调用它的方式?也许使用 async/await/promise 或 rxjs?
编辑:
使用concat,在收到第一个响应之前发送第二个请求。我希望在收到第一个请求的响应后发出第二个请求
我有以下布局:
<LinearLayout
android:id="@+id/linearLayoutHolder"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@android:color/white" >
<EditText android:id="@+id/edit_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="50dp"
android:inputType="textCapSentences"
android:background="@android:color/transparent"
android:hint="@string/edit_message"
android:textColorHint="@android:color/darker_gray"
android:windowSoftInputMode="stateHidden"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这会产生:
现在,当用户按下底部的show background apps按钮时(如上图所示),当用户返回应用程序时,软键盘会显示出来.
我不希望在这种情况下显示软键盘.
如何才能做到这一点?
我正在逐部分读取文件并想要打印文件位置(字节位置)。示例代码片段:
inFile *os.File
inFile, err := os.Open(myfile)
size := make([]byte, some_size)
content_size, err := inFile.Read(size)
Run Code Online (Sandbox Code Playgroud)
现在这是在具有不同缓冲区大小的循环中完成的。那么我是否必须维护一个变量,将作为 Read 返回数据获得的内容大小相加?
相反,我可以在所有读取操作完成后获取文件指针的位置(字节)吗?如何获取文件的当前位置?
我希望从本地计算机访问 Kubernetes API。我正在尝试使用 kubernetes Rest API 获取 pod 列表。
我在Google Cloud上创建了一个 kubernetes 集群和一些 pod 。
在我的本地 Windows 计算机上,我安装了 gcloud sdk 和 kubectl 组件。我使用以下方式连接到我的集群:
gcloud container clusters get-credentials my-cluster --region us-central1 --project my-project
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令获取 pod 列表kubectl get pods
不过,我想使用 kubernetes Rest API 获取 pod 列表。
GET https://kubernetes.default/api/v1/namespaces/default/pods
Authorization: Bearer my_access_token
Run Code Online (Sandbox Code Playgroud)
但我认为该请求没有得到通过。
在邮递员中,我收到错误:
Error: tunneling socket could not be established, cause=socket hang up
或者在 Python 中使用 requests 库(来自我的本地计算机),我收到错误
HTTPSConnectionPool(host='kubernetes.default', port=443): Max retries exceeded with url: /api/v1/namespaces/default/pods (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection …
google-cloud-platform kubernetes google-kubernetes-engine kubectl
我正在寻找一个简单的 Javascript 库,它可以允许用户使用鼠标绘制网络(树状)图,即允许用户使用鼠标本身使用单向或双向箭头连接标记节点。生成图形数据后(可能是 JSON 格式),我会将数据存储到数据库中,以便稍后渲染图形。
用户将执行的示例步骤:
我不想要 Force-direct 效果。我希望用户在不改变其他节点位置的情况下将节点移动到他想要的位置。
我查看了 d3.js 、 vis.js 等库。但我找不到可以允许用户使用鼠标将节点与边连接的库。事情是这样的,但允许用户使用绘制鼠标和添加节点单向和双向定向的边缘。
有没有这样的 JavaScript / JQuery 库可用?