我正在为客户将一个大型的 monorepo 转换为 TypeScript,但是,我自己对 TS 还很陌生,并且遇到了一个错误,我找不到明显的修复方法。
TS6059: File '[path to repo root]/packages/config/globals.ts' is not under 'rootDir' '[path to repo root]/packages/components/src'. 'rootDir' is expected to contain all source files.
该globals.ts文件不应该存在于components包中,它属于config包,所以我不太明白这个错误。
我在存储库的根目录中有一个主 tsconfig 文件(https://github.com/serge-web/serge/blob/feature/333-game-admin-channel/tsconfig.json),然后每个包都有自己的tsconfig 文件扩展了该文件。该components包的位置在这里: https: //github.com/serge-web/serge/blob/feature/333-game-admin-channel/packages/components/tsconfig.json
我假设我错误地扩展了包中的 tsconfig 文件,或者我references错误地使用了它,但我找不到正确的方法来执行此操作。
如果您需要查看结构,这里是存储库的链接:https://github.com/serge-web/serge/tree/feature/333-game-admin-channel
我设置了一个故事书实例,添加了一些自定义排序,以确保该docs部分显示在顶部并正确排序。然而,它现在正在按字母顺序排列所有故事及其变体。这很烦人,我似乎无法使用 来更改它storySort,这是不可能的还是我做错了什么?
在您到达故事之前,所有这些都很好Button,正如您所看到的,每个变体都是按字母顺序而不是它们在页面上的顺序添加的。这是我的storySort对象,我在这里做错了什么吗?
storySort: {
method: 'configure',
includeName: true,
order: [
'Docs',
[
'Introduction',
'Coding Guidelines',
['General'],
'*',
'Architectural Decisions',
['Introduction']
],
'Atoms',
'Molecules',
'Organisms',
'Pages'
]
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过不添加method,includeName但这似乎没有什么区别。我还尝试['*', ['Default', 'Primary', 'Secondary', 'Tertiary', 'Alternate']],在每个Atoms,Molecules和Organisms条目下面添加,但这似乎没有什么区别。
我目前正在尝试学习Redux,我认为我必须实现它错误,因为只有在页面上呈现的最后一个组件才能实现.我怀疑每次都会被覆盖.
我遵循本教程只使用了一个数据检索示例,所以我可能只是误解了如何写入状态.
这是我的减速机.我出错的任何想法?这一切看起来都非常冗长,是否有一种DRYer写出来的方式?
import Immutable from 'seamless-immutable';
import { combineReducers } from 'redux';
import { routerReducer } from 'react-router-redux';
// Import actions
import {
REQUEST_CONFIG,
GET_CONFIG,
REQUEST_PAGES,
GET_PAGES,
REQUEST_SOCIAL_LINKS,
GET_SOCIAL_LINKS,
REQUEST_NAV,
GET_NAV
} from './actions';
const configInitialState = Immutable({
items: [],
isFetching: false
})
const pagesInitialState = Immutable({
items: [],
isFetching: false
})
const socialLinksInitialState = Immutable({
items: [],
isFetching: false
})
const navInitialState = Immutable({
items: [],
isFetching: false
})
export function config(state = configInitialState, action) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习Aurelia我已经设法使用aurelia-cli来设置一个基本的应用程序,我现在正在尝试构建一个自定义组件.我有Aurelia的印象,我可以设置这样的结构:
> /app_folder
> -- /src
> ---- app.html (root component view)
> ---- app.js (root component view-model)
> ---- /components
> ------ /my-component
> -------- my-component.html (custom component view)
> -------- my-component.js (custom component view-model)
Run Code Online (Sandbox Code Playgroud)
在app.js中,我设法使用<require>视图中的标记加载我的组件:
<require from = "./components/my-component/my-component.html"></require>
Run Code Online (Sandbox Code Playgroud)
然后将该标记添加到视图中:
<my-component />
Run Code Online (Sandbox Code Playgroud)
这完全符合我的预期,但该组件似乎忽略了视图模型.
目前我的组件视图如下所示:
<template>
<h1>${header}</h1>
<span>Non-dynamic data for testing</span>
</template>
Run Code Online (Sandbox Code Playgroud)
它的视图模型看起来像这样:
export class MyComponent {
constructor() {
this.header = 'Service started!';
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,我看到的是带有非动态数据的跨度.控制台的HTML输出如下所示:
<my-component class="au-target" au-target-id="3">
<h1></h1>
<span>Non-dynamic data for testing</span>
</my-component>
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我哪里出错了吗?
我为我的智能家居仪表板设置了一个人员跟踪器(内置 react 和 firebase)。然而,当 firebase 数据库发生变化时,它不会导致反应组件的重绘。我不知道我哪里出错了,有人可以帮我吗?
import React from 'react';
import * as firebase from 'firebase';
import moment from 'moment';
export default class IO extends React.Component {
constructor() {
super();
this.state = {
people: []
};
}
componentDidMount() {
let peopleArray = []
this.dbroot = firebase.database().ref().child('io')
this.dbroot.on('value', snapshot => {
snapshot.forEach((snap) => {
if(snap.val().active === true) {
peopleArray.push(snap.val())
}
})
this.setState({people: peopleArray})
});
}
render() {
return(
<section class="c-module c-module_IO">
<ul>
{
this.state.people.map((p) => {
return <li key={ p.name } …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行以下 graphQL 查询:
{
allMarkdownRemark(
limit: 1000
) {
edges {
node {
id
parent {
id
}
fields{
slug
hero {
childImageSharp {
fixed {
src
}
}
}
}
frontmatter {
template
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该hero字段当前使用以下代码返回图像的路径:
exports.onCreateNode = ({ node, actions, getNode }) => {
const { createNodeField } = actions
// Add slug to MarkdownRemark node
if (node.internal.type === 'MarkdownRemark') {
const value = createFilePath({ node, getNode, basePath: 'library' })
const { dir …Run Code Online (Sandbox Code Playgroud) 我创建了一个gatsbyjs启动程序来维护我的博客,但我从未真正计划过使其可重用,但是,我的妻子和我的一个朋友都问我是否可以使用我的启动程序来使其成为博客。
有没有一种方法可以将git repo用作“基础”映像,然后将其用作依赖项或其他东西,以便如果我对基础映像进行更新,我的妻子和伴侣都可以将这些更改合并到他们的博客存储库中?
我希望更新将成为gatsby入门配置的一部分,但如果是这样,我什么也看不到。使启动程序成为NPM软件包的想法也引起了我的注意,但是只有部分应该自动更新,而其他部分则不应该自动更新,再加上npm并不是真正的正确选择,因为它实际上是完整的网站模板,而不仅仅是软件包。
有什么建议么?
我试图弄清“教义2” ORM关系,我以为我掌握了它,但是在阅读了一些Symfony食谱后,我怀疑我实际上有些困惑。
我目前有一个系统,其中一个模板可以包含多个模块(包括每个类型的多个模块),并且多个模板可以使用同一模块。
我认为这可以保证实现ManyToMany关系,并且确实在我的餐桌上看,它似乎工作得很好。
但是,我在编写数据库查询时意识到,我需要按一定顺序加载模块,这意味着我的联接表需要具有第三个“ order_by”列。我读过一个真正的联接表只有两列。
因此造成混乱。我应该在实体中设置什么?
我正在尝试为javascript写一个正则表达式,它允许使用字母和数字但不允许单独使用数字.
所以'12 Test Street'将验证,'测试街'但不是'12'.
不熟悉正则表达式,所以我不知道从哪里开始.我设法写道:
^([A-Za-z\d\s]+[A-Za-z\s])+$
Run Code Online (Sandbox Code Playgroud)
这确实有效,但如果在数字的末尾添加了一个空格,它将再次验证.
javascript ×4
gatsby ×2
reactjs ×2
aurelia ×1
aurelia-cli ×1
doctrine-orm ×1
entities ×1
firebase ×1
git ×1
graphql ×1
lerna ×1
monorepo ×1
orm ×1
react-redux ×1
regex ×1
storybook ×1
symfony ×1
typescript ×1
yarnpkg ×1