我对 nextjs 还是新手,所以我不知道这是一个错误还是我只是错误地实现了它。
我成功地使用本指南提取了我所有的 scss 文件: https ://github.com/zeit/next-plugins/tree/master/packages/next-sass
使用服务器端渲染时一切正常。外部 css 文件得到正确更新和应用,但是一旦我进行客户端页面转换,新的 scss 导入不会被注入外部 css 文件。我也不想在初始页面加载时预取每个 scss 文件,它应该动态地获取和更新服务器端路由和客户端路由上的外部文件。
我的 next.config.js
const getRoutes = require('./routes');
const path = require('path');
const withSass = require('@zeit/next-sass');
module.exports = withSass({
exportPathMap: getRoutes,
// useFileSystemPublicRoutes: false,
cssModules: true,
cssLoaderOptions: {
importLoaders: 1,
localIdentName: "[local]___[hash:base64:5]",
},
})
示例组件
import { Fragment } from 'react';
import Main from '../components/main';
import style from '../styles/pages/parkett.scss';
const Parkett = () =>
<Fragment>
<section className={`section ${style.sec_two_parkett}`}>
<div className={`sec_text ${style.sec_two_text}`}>
<h2 className="didonesque_headline">Detailiert</h2>
<p className="normal_text">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div>
</section>
<section className={`section ${style.sec_three_parkett}`}>
<div className={`sec_text ${style.sec_three_text}`}>
<h2 className="didonesque_headline">Erstaunlich</h2>
<p className="normal_text">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>
</div>
</section>
</Fragment>
export default () =>
<Main
title="parkett"
component={<Parkett />}
links={['Treppe', 'Moebel', 'Innenausbau']}
/>