我正在尝试将Stencil和Storybook整合到同一个项目中.我一直在关注这个设置向导和这一个但是的步骤之一是组件库中发布到NPM和这不是我想要的.
我有这个我用组件库(文件夹)配置的repo,src
以及那些带有Storybook的组件的审阅者,它位于该storybook
文件夹中.
问题是,当我使用模板编译组件和复制dist
文件夹中的故事书应用程序内并导入组件没有渲染.使用自定义头标签调整配置我能够正确导入它,但是没有应用任何样式.
当我打开网络面板时,导入组件时出现一些错误:
因此,组件存在于DOM中,但可见性设置为隐藏,我认为它在出现错误时会执行.
这是组件au-button
:
import { Component } from '@stencil/core';
@Component({
tag: 'au-button',
styleUrl: 'button.css',
shadow: true
})
export class Button {
render() {
return (
<button class="test">Hello</button>
);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的组成部分的故事:
import React from 'react';
import { storiesOf } from '@storybook/react';
import '../components/components.js'
storiesOf('Button', module)
.add('with text', () => <au-button></au-button>)
Run Code Online (Sandbox Code Playgroud)
这些是Storybook应用程序中的脚本:
"scripts": {
"storybook": "start-storybook …
Run Code Online (Sandbox Code Playgroud) 我已经看到了两种在React中用Typescript声明一个SFC的方法,这两种方法是:
import * as React from 'react'
interface Props {
message: string
}
const Component = (props: Props) => {
const { message } = props
return (
<div>{message}</div>
)
}
export default Component
Run Code Online (Sandbox Code Playgroud)
和:
import * as React from 'react'
interface Props {
message: string
}
const Component: React.StatelessComponent<Props> = props => {
const { message } = props
return (
<div>{message}</div>
)
}
export default Component
Run Code Online (Sandbox Code Playgroud)
从这个问题我看到,如果你在组件中使用它,你可以通过第二种方式从界面中省略子项.
还有什么差异吗?哪一个是首选的,为什么?
我想创建一个具有特定时间和给定周期的正在运行的作业。例如,我想在每个月的第二天安排一个作业,它应该每个月运行。
查看JobInfo.Builder 文档,我还没有找到设置初始延迟的方法。
关于如何实现这一目标的任何想法?
这是以正确的周期运行但不以我想要的初始延迟运行的代码:
fun build(application: Application, periodicity: Days, startDay: Days) {
val serviceComponent = ComponentName(application, GenerateDebtJobService::class.java)
val builder = JobInfo.Builder(1, serviceComponent)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPeriodic(TimeUnit.DAYS.toMillis(periodicity.days.toLong()))
(application.getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler).schedule(builder.build())
Run Code Online (Sandbox Code Playgroud) 我们正在将支付系统与我们的应用程序集成。它在 iOS 上完美运行,但在 Android 中导航回应用程序不起作用。我们想在我们的应用程序内打开支付系统网页。为此,我们在以下位置设置了此配置capacitor.config.json
:
{
"server": {
"allowNavigation": ["sis-t.redsys.es", "*.redsys.es"]
}
}
Run Code Online (Sandbox Code Playgroud)
现在,集成系统有点棘手。我们需要一个触发帖子的表单组件:
{
"server": {
"allowNavigation": ["sis-t.redsys.es", "*.redsys.es"]
}
}
Run Code Online (Sandbox Code Playgroud)
在我们的代码中app.component.ts
,有以下代码:
<form ngNoForm #myFormPost action="https://sis-t.redsys.es:25443/sis/realizarPago" method="post">
<input type="hidden" name="Ds_SignatureVersion" [value]="dsSignatureVersion" />
<input type="hidden" name="Ds_MerchantParameters" [value]="dsMerchantParameters" />
<input type="hidden" name="Ds_Signature" [value]="dsSignature" />
</form>
Run Code Online (Sandbox Code Playgroud)
所有这些都有效,因为它打开了支付系统应用程序。现在,该系统允许我们设置重定向页面以便导航回我们的应用程序。我们已经定了capacitor://localhost/store?r=ko
。正如文档中所述,iOS 的方案是capacitor://
,Android 的方案是http://
。因此,当我们完成操作并尝试通过单击 iOS 上的按钮返回应用程序时,它会完美地返回到应用程序,但 Android 则不会。
我们尝试在 iOS 中将 url 设置为 ,capacitor://localhost/store?r=ko
在 Android 中设置为http://localhost/store?r=ko
,但是在 Android 中,它会尝试打开浏览器,这是我们不希望的。
我们尝试将 设为androidScheme
,capacitor …
我在理解交叉点类型时遇到很多困难。这就是我所指的:
type FooList = Foo[] & {
bar: string
};
interface Foo {
baz: string;
}
Run Code Online (Sandbox Code Playgroud)
经过大量摆弄后,我无法创建FooList
.
这些打字不是我的,它们来自这个图书馆。
这些类型是否意味着FooList
必须是 s 数组Foo
并且还有一个对象bar
?每个Foo
对象都必须包含一个属性吗bar
?
我有一个配置了Gradle和Kotlin的项目。这是一个命令行实用程序,我希望能够从终端运行生成的jar。但是我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at com.autentia.impt.MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Run Code Online (Sandbox Code Playgroud)
我的gradle配置如下:
buildscript {
ext.kotlin_version = '1.2.20'
ext.junit_platform_version = '1.0.1'
ext.junit_version = '5.0.0'
ext.moshi_version = '1.5.0'
ext.jna_version = '4.5.0'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.junit.platform:junit-platform-gradle-plugin:$junit_platform_version"
}
}
version '1.0-SNAPSHOT'
apply plugin: 'kotlin'
apply plugin: 'application'
apply plugin: 'org.junit.platform.gradle.plugin'
mainClassName = 'com.autentia.impt.MainKt'
repositories {
mavenCentral()
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib"
implementation "org.jetbrains.kotlin:kotlin-reflect"
implementation "com.squareup.moshi:moshi:$moshi_version" …
Run Code Online (Sandbox Code Playgroud) 我有以下自定义Axios实例:
import axios from 'axios'
export const BASE_URL = 'http://jsonplaceholder.typicode.com'
export default axios.create({
baseURL: BASE_URL
})
Run Code Online (Sandbox Code Playgroud)
配合相应的服务:
import http from './http'
export async function fetchUserPosts(id) {
const reponse = await http.get(`/users/${id}/posts`)
return reponse.data
}
Run Code Online (Sandbox Code Playgroud)
这是对上述服务的测试:
import moxios from 'moxios'
import sinon from 'sinon'
import http from '@/api/http'
import { fetchUserPosts } from '@/api/usersService'
describe('users service', () => {
beforeEach(() => {
moxios.install(http)
})
afterEach(() => {
moxios.uninstall(http)
})
it('fetches the posts of a given user', (done) => {
const id …
Run Code Online (Sandbox Code Playgroud)