This change fixes the issues with the PatternFly example showing how to use PatternFly 4 in conjunction with Next.js: 1. next-transpile-modules has been updated to 7.2.0, which adds support for Global CSS imports used by PatternFly 4. This eliminates the custom Webpack modification that were necessary previously. 2. All dependencies have been updated to the latest version. 3. Documentation has been updated to include troubleshooting steps. Addresses #20916
2.5 KiB
PatternFly 4 example
This example shows how to use Next.js with the PatternFly 4 design system.
Deploy your own
Deploy the example using Vercel:
How to use
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example with-patternfly with-patternfly-app
# or
yarn create next-app --example with-patternfly with-patternfly-app
Deploy it to the cloud with Vercel (Documentation).
Troubleshooting
Global CSS cannot be imported from within node_modules
PatternFly 4 packages published on npm use Global CSS imports for styling of React components, which is not supported by Next.js. To workaround this issue, this example uses next-transpile-modules to transpile the packages during compilation. As a consequence, all packages that depend on @patternfly/react-styles need to be transpiled as well.
If you receive this error, verify whether all packages that depend on @patternfly/react-styles are specified in next.config.js.
PatternFly components do not appear to be styled
If your Next.js application compiles successfully, but PatternFly components in your application do not appear to be styled, make sure you have applied the global PatternFly stylesheet in pages/_app.js
:
// In pages/_app.js
import App from 'next/app'
import '@patternfly/react-core/dist/styles/base.css'
...
All components styles are imported when using a PatternFly component
This is expected behavior in development mode. Tree shaking will remove these imports in production builds.