小编Hyy*_*her的帖子

泛型类型(T)与打字稿中的任何类型有什么区别

打字稿中的generic Type(T)vs有什么区别any

功能1

function identity(arg: any): any {
    return arg;
}
Run Code Online (Sandbox Code Playgroud)

功能2

function identity<T>(arg: T): T {
    return arg;
}
Run Code Online (Sandbox Code Playgroud)

功能3

function identity<T>(arg: T[]): T[] {
    return arg;
}
Run Code Online (Sandbox Code Playgroud)

如果我们传递任何类型的函数1和3被接受data type,但是如果我们通过函数2则不接受array.泛型类型在编译时接受所有类型的数据类型.但这里为什么不接受?

哪个功能有利于提高性能(功能1或功能3)?

javascript generics types typescript angular

32
推荐指数
2
解决办法
6569
查看次数

在电子书页面之间共享数据

我想在我的固定布局epub3电子书的一章末尾进行测验.这个测验将跨越多个页面,并且本质上是多项选择.每个问题都包含问题本身和四个选项,每个选项都有一个单选按钮.在测验结束时,用户将单击按钮以显示其整体结果.为此,我需要在页面之间共享信息.这样做的一种方法是将所有页面放在一个XHTML文档中,然后我可以存储学生为javascript变量中的每个问题提供的答案.但是,在同一个XHTML文件中有多个固定布局epub3书的页面是否有效?正如我在这里所做的那样:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
<head>
<title>My Book</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>

<style>

p.pagebreak {
    page-break-after:always;
} 

</style>
</head>

<body> 

    <p>
        Text on Page 1
    </p>

    <p class="pagebreak"></p>

    <p>
        Text on Page 2
    </p>

    <p class="pagebreak"></p>

    <p>
        Text on Page 3
    </p>
</body>
</html> 
Run Code Online (Sandbox Code Playgroud)

它在iBooks中显得很好.

或者,如果使用多个页面,我可以使用存储学生的答案window.sessionStorage.但是,我不知道有多少读者支持存储.我希望测验适用于iBooks以及Android和Windows平板电脑和台式机.

您如何建议我实施我的测验?

javascript html5 session-storage epub epub3

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

Laravel - Passport/SPA 401未经授权

我已经注册了Laravel Passport文档中提到的Vue组件,它们也显示在我的应用程序中:

<passport-clients></passport-clients>
<passport-authorized-clients></passport-authorized-clients>
<passport-personal-access-tokens></passport-personal-access-tokens>
Run Code Online (Sandbox Code Playgroud)

但是,它们没有显示任何令牌/客户端,而且我也无法创建任何令牌/客户端,因为我的应用程序说我"未经授权":

GET http://spa.test/oauth/personal-access-tokens 401 
GET http://spa.test/oauth/clients 401 (Unauthorized)
GET http://spa.test/oauth/tokens 401 (Unauthorized)
GET http://spa.test/oauth/scopes 401 (Unauthorized)
Run Code Online (Sandbox Code Playgroud)

这是我的 AuthServiceProvider.php

public function boot() {
     $this->registerPolicies();
     Passport::routes();
}
Run Code Online (Sandbox Code Playgroud)

我还把这个特点包括在我的app/User.php:

use HasApiTokens, Notifiable;
Run Code Online (Sandbox Code Playgroud)

记住,我使用Laravel作为后端,Vue.js作为前端,这给了我一个SPA.

这是我的routes/api.php:

Route::middleware('auth:api')->group(function () {
    Route::get('/user', function (Request $request) {
        return $request->user();
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我的routes.js:

const routes = [
    {
        path: '/api/*',
    },

    /**
     * Handle Authentication
     */
    {
        path: '/',
        alias: '/login',
        name: 'login',
        component: Login,
        beforeEnter: …
Run Code Online (Sandbox Code Playgroud)

php laravel single-page-application vue.js

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

测试场景中的 Cypress 和脚本注入

我对 Cypress 还很陌生,目前我正在尝试测试使用我创建的浏览器扩展的网页。此扩展仅向网页注入一组 JS 和 CSS 文件,我想在集成测试中模拟相同的事情,以便能够注入库并测试行为。我想知道是否有一种方法可以从 Cypress 测试访问文档对象,以将 CSS 或 JavaScript 注入到网页的头部。

javascript integration-testing cypress

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

获得'ngbCollapse',因为它不是'div'的已知属性.将组件移动到子模块后出错

错误

compiler.js:215未捕获错误:模板解析错误:无法绑定到'ngbCollapse',因为它不是'div'的已知属性.( "] [ngbCollapse] =" 是否隐藏">

我有一个NavbarComponent和一个FooterComponent,我想进入SharedModule,以保持根app.module更清洁.

app.module

import { AdminComponent } from './admin/admin.component';
// import { NavbarComponent } from './navbar/navbar.component';
// import { FooterComponent } from './footer/footer.component';

// Modules
import { DashboardModule } from './dashboard/dashboard.module';
import { HomeModule } from './home/home.module';

@NgModule({
  declarations: [
    AppComponent,
    LoginComponent,
    RegisterComponent,
    PasswordResetComponent,
    ResetPasswordComponent,
    AdminComponent,
    // NavbarComponent,
    // FooterComponent,
Run Code Online (Sandbox Code Playgroud)

share.module

但是,一旦我将这些组件移动到这里,并正确更新其路径./- > ../应用程序中断.

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { NavbarComponent } from '../navbar/navbar.component'; …
Run Code Online (Sandbox Code Playgroud)

javascript angular-module angular-components angular

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

Symfony2 doctrine来自特定实体的更新架构

如果我跑

php app/console doctrine:schema:update --force
Run Code Online (Sandbox Code Playgroud)

它将从所有实体更新我的数据库.

我只需要为User实体更新数据库,解决方案是什么?

一种解决方案是定义自定义实体管理器,然后将该实体管理器传递给

php app/console doctrine:schema:update --force --em="custom"
Run Code Online (Sandbox Code Playgroud)

但是,如果没有定义自定义实体管理器,它可能更快存在吗

php doctrine symfony doctrine-orm

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

在 React 中动态更改环境变量?

我正在尝试部署我的应用程序,但我想知道是否有一种方法可以在不重建我的应用程序的情况下动态更新环境变量。我做了一些研究,发现有 3 种可能的方法

  • 将配置存储在 js 文件中并使用脚本更新它!
  • 将配置存储在加载 React 应用程序并通过端点访问变量的服务器中
  • 把配置存放在window对象中,这真的很奇怪!

这些方法安全吗?与这些方法相关的风险是什么?

知道 Facebook、Airbnb 或任何其他高容量网站如何更新其配置吗?我的意思是每次重建应用程序都会非常耗时,对吗?动态更新我的变量甚至是个好主意吗?

如果您能帮我解决这个问题,我将不胜感激!

javascript configuration environment-variables reactjs

7
推荐指数
0
解决办法
2421
查看次数

模块解析失败:意外的令牌

嘿 得到下面的错误我运行 webpack 命令: $> webpack --mode "development"

堆栈跟踪:

Version: webpack 4.17.2
Time: 1357ms
Built at: 09/10/2018 8:13:26 PM
    Asset      Size  Chunks             Chunk Names
bundle.js  1.37 MiB    main  [emitted]  main
Entrypoint main = bundle.js
[0] fs (ignored) 15 bytes {main} [built]
[./node_modules/css-loader/index.js!./wwwroot/Source/Styles/app.css] ./node_modules/css-loader!./wwwroot/Source/Styles/app.css 165 bytes {main} [built]
[./node_modules/css-loader/index.js!./wwwroot/Source/Styles/site.css] ./node_modules/css-loader!./wwwroot/Source/Styles/site.css 207 bytes {main} [built]
[./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 509 bytes {main} [built]
[./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 519 bytes {main} [built]
[./wwwroot/Source/Script/app.ts] 221 bytes {main} [built]
[./wwwroot/Source/Script/site.ts] 274 bytes {main} [built] [failed] [1 error]
[./wwwroot/Source/Styles/app.css] 1.06 …
Run Code Online (Sandbox Code Playgroud)

javascript typescript webpack

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

java.lang.OutOfMemoryError GC开销限制超过了Java堆空间?

java.lang.OutOfMemoryError:Java堆空间的含义 该消息表示应用程序仅需要比其正常运行所需的Java堆空间更多的空间。

java.lang.OutOfMemoryError:超出GC开销限制的意思是 此消息表示由于某种原因,垃圾收集器占用过多的时间(默认情况下为该进程所有CPU时间的98%),并且每次运行都恢复很少的内存(默认情况下为堆的2%)。在内部,这还意味着当应用程序仅需要比其正常运行可用的Java堆空间更多的空间时。

所以我的问题是以上两种情况中的哪一种会被触发?

所以这是我的理解,何时会根据情况抛出特定的异常:

假设我分配了1GB的堆大小。当前正在使用的堆内存为970 MB。一个线程启动了(JVM不预先知道它将消耗多少内存)。现在,GC可以采取以下步骤之一

1)JVM开始分配内存,然后在某一时间耗尽1GB的内存并抛出 java.lang.OutOfMemoryError: Java heap space

2)GC会提前运行,并尝试释放一些内存,因为它知道当前正在使用的内存已接近1 GB分配的堆。但是在随后的每次运行中,它不能释放超过2%的空间。然后它会抛出java.lang.OutOfMemoryError: GC overhead limit exceeded

在我的问题中我的理解正确吗?

java heap garbage-collection

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

DaggerAppComponent - 未解析的参考

请帮助我将 Dagger 2 连接到 Kotlin。\n我的应用程序构建 gradle:

\n\n
apply plugin: \'com.android.application\'\napply plugin: \'kotlin-android\'\napply plugin: \'kotlin-android-extensions\'\napply plugin: \'io.fabric\'\napply plugin: \'kotlin-kapt\'\n\nandroid {\n    compileSdkVersion 28\n    defaultConfig {\n        applicationId "mobile.socialboards.com"\n        minSdkVersion 21\n        targetSdkVersion 28\n        versionCode 19\n        versionName \'1.0\'\n        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'\n        }\n        debug {\n            minifyEnabled false\n        }\n    }\n    configurations {\n        cleanedAnnotations\n        compile.exclude group: \'org.jetbrains\' , module:\'annotations\'\n    }\n    productFlavors {}\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n    kotlinOptions {\n        jvmTarget = \'1.8\'\n        freeCompilerArgs = [\'-Xjvm-default=enable\']\n    }\n    lintOptions …
Run Code Online (Sandbox Code Playgroud)

android kotlin dagger

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