小编Gav*_*vin的帖子

如何从Dart代码中检测主机平台?

对于UI应该略有不同的iOSAndroid,必须有检测到您正在运行哪一个的方式,但在文档我找不到它.它是什么?

dart flutter

64
推荐指数
14
解决办法
3万
查看次数

apollo客户端:带有@client查询字段的codegen typescript

很抱歉,如果这有点涉及,但我真的想要关闭最后一英里能够使用Apollo Client本地和服务器状态,自动Typescript无处不在.也就是说,我有这样的查询:

query NavigationBarQuery($userId: Int, $portfolioCompanyId: Int!) {
  user(id: $userId) {
    id
    firstName
    lastName
    company {
      ... on CompanyInterface {
        companyType
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的NavigationBar组件导入的,如下所示:

import { NavigationBarQuery, NavigationBarQueryVariables } from '../../../graphql/generated/NavigationBarQuery';
import NAVIGATION_BAR_QUERY from '../../../graphql/NavigationBarQuery.graphql';

const NavigationBar = (vars: NavigationBarQueryVariables) => (
  <Query query={NAVIGATION_BAR_QUERY} variables={vars}>
    {({ loading, error, data, client }: QueryResult<INavigationBarClientQuery>) => {

     // etc.
Run Code Online (Sandbox Code Playgroud)

使用本地模式文件(从Graphene转储)执行生成,如下所示:

apollo client:codegen --localSchemaFile ./build/schema.json --includes './src/graphql/**' --target typescript
Run Code Online (Sandbox Code Playgroud)

这很好用,我得到TypeScript类型和一切.

但是,我想要包含一些本地状态,查询如下:

query NavigationBarQuery($userId: Int, $portfolioCompanyId: Int!) {
  user(id: $userId) {
    id
    firstName …
Run Code Online (Sandbox Code Playgroud)

typescript apollo graphql

7
推荐指数
3
解决办法
570
查看次数

具有节点和babel的核素调试器?

我一直在尝试使用Nuclide/Atom来启动和调试使用Babel和ES6 +代码的单元测试.启动配置如下所示:

核素设置

Node运行单元测试,就像我从命令行运行它一样,并且不会在我的断点处停止.如果我在命令行使用--inspect-brk使用相同的调用,我可以从Chrome中的chrome-devtools url正确调试(使用sourcemaps).有没有办法让这项工作?我不能真正"附加",因为单元测试是,应该是一个直接的脚本执行.

node.js reactjs atom-editor babeljs nuclide-editor

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

Angular 中的惯用条件 TypeScript 编译

我正在使用 Angular 9,我有一些这样的代码:

(features.ts, autogenerated:)
// AUTO-GENERTATED FILE. DO NOT EDIT!
export const Features = {
  // Whether to reveal our Secret New Feature to the world
  ENABLE_SECRET_FEATURE: 1
};

(mycode.ts, app code)
import { Features } from 'generated/features.ts';

function doSomething() {
  if (Features.ENABLE_SECRET_FEATURE) {
    doAIBlockChainARThing();
  } else {
    doSomeBoringOldCRUDThing();
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望发出的代码是

function doSomething() {
    doAIBlockChainARThing();
}
Run Code Online (Sandbox Code Playgroud)

或者

function doSomething() {
    doSomeBoringOldCRUDThing();
}
Run Code Online (Sandbox Code Playgroud)

但不是两者兼而有之。

是否有调用ng build它会发生这种情况?我知道 uglify 可以做到这一点,而 Closure Compiler 当然可以。我目前的调用是:ng build --aot=true --stats-json --buildOptimizer=true --optimization=true …

google-closure-compiler typescript webpack angular terser

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