小编Ash*_*hik的帖子

prisma2:如何获取嵌套字段?

在 prisma 1 中,我使用fragment 来获取嵌套字段。

例如:

const mutations = {
  async createPost(_, args, ctx) {
    const user = await loginChecker(ctx);
    const post = await prisma.post
      .create({
        data: {
          author: {
            connect: {
              id: user.id,
            },
          },
          title: args.title,
          body: args.body,
          published: args.published,
        },
      })
      .$fragment(fragment);

    return post;
  },
};
Run Code Online (Sandbox Code Playgroud)

但似乎在 prisma2 中不支持。因为通过在操场上运行这个,

mutation CREATEPOST {
  createPost(
    title: "How to sleep?"
    body: "Eat, sleep, repaet"
    published: true
  ) {
    title
    body
    published
    author {
      id
    }
  }
}

Run Code Online (Sandbox Code Playgroud)

我正进入(状态,

"prisma.post.create(...).$fragment is …
Run Code Online (Sandbox Code Playgroud)

javascript node.js graphql prisma prisma-graphql

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

Dockerfile:有没有办法从 .env 文件中读取变量

我想读取文件中PORT定义的 Dockerfile 中的变量.env。有没有办法做到这一点?

这是我的 Dockerfile:

FROM node:11-alpine

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

ENV PORT=3000

COPY . .

RUN npm install

EXPOSE 3000

CMD ["npm", "run", "start"]
Run Code Online (Sandbox Code Playgroud)

environment-variables docker dockerfile docker-compose

10
推荐指数
1
解决办法
6620
查看次数

如何使用 redux-toolkit 配置 redux-persist?

我已经使用传统的 react-redux 设置配置了 redux-persist,如下所示:

onst persistConfig = {
  key: 'root',
  storage,
  whitelist: ['todos'],
};

const persistedReducer = persistReducer(persistConfig, reducer);

const store = createStore(
  persistedReducer,
  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);

const persistor = persistStore(store);

// wrapper
const StateProvider = ({ children }) => {
  return (
    <Provider store={store}>
      <PersistGate loading={<div>Loading...</div>} persistor={persistor}>
        {children}
      </PersistGate>
    </Provider>
  );
};
Run Code Online (Sandbox Code Playgroud)

但是,如何使用 redux-toolkit 对其进行配置?到目前为止,我已经尝试过这个:

const persistedReducer = persistReducer(persistConfig, todoreducer);
const store = configureStore({
  reducer: {
    todos: persistedReducer,
  },
});

const persistor = persistStore(store);

// wrapper
const StateProvider …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux redux-persist

10
推荐指数
3
解决办法
8588
查看次数

如何在 github-action 中缓存 docker-compose 构建

有没有办法缓存 docker-compose 以便它不会一次又一次地构建?这是我的操作工作流文件:

name: Github Action
on:
  push:
    branches:
      - staging
jobs:
  test:
    runs-on: ubuntu-18.04

    steps:
      - uses: actions/checkout@v1

      - name: Bootstrap app on Ubuntu
        uses: actions/setup-node@v1
        with:
          node-version: '12'


      - name: Install global packages
        run: npm install -g yarn prisma


      - name: Install project deps
        if: steps.cache-yarn.outputs.cache-hit != 'true'
        run: yarn


      - name: Build docker-compose
        run: docker-compose -f docker-compose.test.prisma.yml up --build -d

Run Code Online (Sandbox Code Playgroud)

我想缓存 docker build 步骤。我试过使用if: steps.cache-docker.outputs.cache-hit != 'true' then only build 但没有用。

github docker-compose docker-build github-actions building-github-actions

8
推荐指数
3
解决办法
4520
查看次数

Github Action:如何保证服务器正常运行?

在我的 GitHub 操作 yaml 文件中,最后有两个命令。第一个用于yarn start(启动服务器),第二个用于运行测试文件。

我通常从本地服务器运行yarn start,然后等到前端和后端端口运行,然后只有我从另一个终端运行测试

但从 GitHub 操作来看,它运行yarn start命令,然后立即运行测试脚本,因此当运行测试文件时,服务器不会侦听端口。这就是我的测试脚本失败的原因。如何确保测试脚本在yarn start完成后运行?

这是我的action.yml文件

name: "Github Actions Test"
on:
  push:
    branches:
      - wip/checkout2

jobs:
  test:
    runs-on: ubuntu-latest

    env:
      PRISMA_ENDPOINT: ${{secrets.PRISMA_ENDPOINT}}
      PRISMA_SECRET: ${{secrets.PRISMA_SECRET}}

    steps:
      - uses: actions/checkout@v1
      - name: "Install Node"
        uses: actions/setup-node@v1
        with:
          node-version: "12.x"
      - name: "Install global packages"
        run: npm install -g yarn prisma-cli concurrently mocha
      - name: "Run docker Container"
        run: docker-compose -f docker-compose.yml up --build -d …
Run Code Online (Sandbox Code Playgroud)

concurrency github github-actions

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

Github 操作:运行木偶时出现错误:net::ERR_CONNECTION_REFUSED

当分支中发生任何推送时,我想运行我的应用程序并使用 puppeteer 测试某些内容。但是当测试文件在 github 操作中执行时,我收到以下错误

Error: net::ERR_CONNECTION_REFUSED at http://localhost:8080 at navigate (node_modules/puppeteer/lib/FrameManager.js:120:37)

其中,8080 是我的前端端口。

是什么原因导致此错误以及如何解决此问题?

这是我的 gihub 操作文件:

name: "Github Actions Test"
on:
  push:
    branches:
      - wip/checkout2

jobs:
  test:
    runs-on: ubuntu-latest

    env:
      PRISMA_ENDPOINT: ${{secrets.PRISMA_ENDPOINT}}
      PRISMA_SECRET: ${{secrets.PRISMA_SECRET}}

    steps:
      - uses: actions/checkout@v1
      - name: "Install Node"
        uses: actions/setup-node@v1
        with:
          node-version: "12.x"
      - name: "Install global packages"
        run: npm install -g yarn prisma-cli concurrently mocha
      - name: "Run docker Container"
        run: docker-compose -f docker-compose.yml up --build -d
      - name: "Install deps"
        run: yarn …
Run Code Online (Sandbox Code Playgroud)

github mocha.js puppeteer github-actions

6
推荐指数
0
解决办法
971
查看次数

编剧错误:未下载 Firefox 修订版。运行“npm install”或“yarn install”

const playwright = require("playwright");

(async () => {
  const browsers = ["chromium", "firefox", "webkit"];

  for (const browserType of browsers) {
    const browser = await playwright[browserType].launch({args: ['--no-sandbox']});
    const context = await browser.newContext();
    const page = await context.newPage("http://whatsmyuseragent.org/");

    await page.screenshot({ path: `example-${browserType}.png` });
  }
})();
Run Code Online (Sandbox Code Playgroud)

运行此脚本后,我得到 UnhandledPromiseRejectionWarning: E​​rror: Firefox revision is not download. 在控制台中运行“npm install”或“yarn install”。如何解决?

javascript playwright

5
推荐指数
1
解决办法
513
查看次数

Prisma:有什么方法可以执行 javascript 作为 prisma 数据类型的默认值吗?

在我的数据模型中,作为 id 的类型,我想生成一个以用户开头的默认值。

所以 id 会像这样user..rear33422qeqr

type User {

  myId: String! @default (`user${2+2}`)
  name: String!
  email: String! @unique

}
Run Code Online (Sandbox Code Playgroud)

是否可以调用 javascript 函数或使用字符串插值 ( user${2+2})

javascript graphql graphql-js prisma prisma-graphql

5
推荐指数
0
解决办法
832
查看次数

react-query:当且仅当没有错误时重新获取

在我的根组件上,我使用 use 查询来获取用户详细信息。但问题是在我注册或登录之前,它重新刷新了太多次。结果我什至无法顺利填写注册/登录表单。

在此输入图像描述

有没有办法,只有回调函数没有返回错误时才会重新获取?

这是我尝试过的

const FetchCurrentUser = async () => {
  setAuthToken(localStorage.token);
  const {
    data: { user },
  } = await axios.get(`${process.env.API_URL}/api/users/auth`);

  return user;
};

const RouterController = () => {
  const { data: updatedUser, isLoading, error: fetchError } = useQuery(
    "user",
    FetchCurrentUser,
   
  );
}
Run Code Online (Sandbox Code Playgroud)

javascript caching state-management reactjs react-query

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

Tailwind CSS:如何应用具有线性渐变的背景图像?

我想对我的背景图像应用线性渐变。在顺风配置文件中,我写了一个这样的自定义规则:

 theme: {
    extend: {
      backgroundImage: (theme) => ({
        'hero-pattern': "url('../src/images/icon-bg.jpg')",
  
      }),
    },
  },
Run Code Online (Sandbox Code Playgroud)

有用。但是当我尝试应用线性渐变时,它不起作用。

为了应用线性梯度,我尝试过的是:

 theme: {
    extend: {
      backgroundImage: (theme) => ({
        
         'hero-pattern':
          "linear-gradient(to right bottom, rgba('#7ed56f',0.8), rgba('#28b485',0.8)), url('../src/images/icon-bg.jpg')",
      }),
    },
  },
Run Code Online (Sandbox Code Playgroud)

但它没有用。

css tailwind-css tailwind-in-js

5
推荐指数
3
解决办法
1318
查看次数