我不太明白 Github actions/cache 的工作范围,我的意思是:
如果我发出拉取请求,然后在同一个拉取请求中添加 1 个提交,则缓存工作正常,但如果我在同一分支中创建新的拉取请求 - 缓存将重置并再次启动,但为什么呢?
有没有办法将文件缓存扩展到所有yml文件,以便每个拉取请求都使用现有的缓存?
因为事实证明,为了加快工作速度,开发人员总是需要将他们的工作投入到一个分支中,这在某种程度上听起来像是无稽之谈。
我的缓存密钥的形成如下
- uses: actions/cache@v2
id: composer-cache
with:
path: .github/docker/development/php-cli/composer/cache
key: ${{ runner.os }}-develop-composer-${{ hashFiles('src/composer.lock') }}
restore-keys: |
${{ runner.os }}-develop-composer-
Run Code Online (Sandbox Code Playgroud) 为了创建一个网站,我使用 nextjs,在创建页面时,我将带有页眉和页脚的总体布局放入一个单独的临时组件中,并将页面组件包装在文件中_app.jsx:
function App({ Component, ...rest }) {
const { store, props } = wrapper.useWrappedStore(rest)
return (
<Provider store={store}>
<Layout>
<Component {...props.pageProps} />
</Layout>
</Provider>
)
}
Run Code Online (Sandbox Code Playgroud)
一切正常,直到本地化成为问题,使用next-18next库进行翻译并添加后serverSideTranslations,每个页面上开始出现两个错误:
react-i18next:: You will need to pass in an i18next instance by using initReactI18next
frontend-node_1 | TypeError: Cannot read properties of undefined (reading 'label')
frontend-node_1 | at DropdownSwitcher (webpack-internal:///./src/components/header/translation/DropdownSwitcher.jsx:45:36)
frontend-node_1 | at renderWithHooks (/app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
frontend-node_1 | at renderIndeterminateComponent (/app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
frontend-node_1 | at renderElement (/app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
frontend-node_1 | at …Run Code Online (Sandbox Code Playgroud)