在 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) 我想读取文件中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) 我已经使用传统的 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) 有没有办法缓存 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
在我的 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) 当分支中发生任何推送时,我想运行我的应用程序并使用 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) 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: Error: Firefox revision is not download. 在控制台中运行“npm install”或“yarn install”。如何解决?
在我的数据模型中,作为 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})
在我的根组件上,我使用 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) 我想对我的背景图像应用线性渐变。在顺风配置文件中,我写了一个这样的自定义规则:
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)
但它没有用。
javascript ×5
github ×3
graphql ×2
prisma ×2
reactjs ×2
caching ×1
concurrency ×1
css ×1
docker ×1
docker-build ×1
dockerfile ×1
graphql-js ×1
mocha.js ×1
node.js ×1
playwright ×1
puppeteer ×1
react-query ×1
react-redux ×1
redux ×1
tailwind-css ×1