我需要在下一个项目中添加antd
。但是通过运行下一个构建命令会失败:
Build error occurred
{ /Users/macbook/Documents/myapp/node_modules/antd/lib/style/index.css:7
body {
^
SyntaxError: Unexpected token {
next.config.js文件
const withPlugins = require('next-compose-plugins');
const withCss = require('@zeit/next-css');
const withSass = require('@zeit/next-sass');
const BrotliPlugin = require('brotli-webpack-plugin');
const CompressionPlugin = require('compression-webpack-plugin');
const withImages = require('next-images');
const withBundleAnalyzer = require('@next/bundle-analyzer')({
enabled: process.env.ANALYZE === 'true',
});
if (typeof require !== 'undefined') {
require.extensions[".css"] = file => {}; // eslint-disable-line
}
const nextConfig = {
distDir: '_next',
onDemandEntries: {
maxInactiveAge: 1000 * 60 * 60,
pagesBufferLength: 5,
},
webpack: (config, { dev }) => {
!dev &&
config.plugins.push(
new BrotliPlugin({
asset: '[path].br[query]',
test: /\.js$|\.css$|\.html$/,
threshold: 10240,
minRatio: 0.7,
}),
);
!dev &&
config.plugins.push(
new CompressionPlugin({
filename: '[path].gz[query]',
algorithm: 'gzip',
test: /\.js$|\.css$|\.html$/,
threshold: 10240,
minRatio: 0.7,
}),
);
return config;
},
};
module.exports = withPlugins(
[
[withImages],
[withCss],
[
withSass,
{
cssModules: true,
cssLoaderOptions: {
localIdentName: '[path]___[local]___[hash:base64:5]',
},
},
],
[withBundleAnalyzer],
],
nextConfig,
);
我认为 webpack 中存在较少的加载程序是有问题的,因为据我所知,蚂蚁设计需要较少的加载程序。
您是否知道如何解决此问题?
答案 0 :(得分:1)
使用最新的Next.js版本,第8版出现错误
答案 1 :(得分:0)
是的,看来您的Webpack缺少有关CSS的配置,您可能必须以这种方式配置webpack css loader
// Configuration of css loader to process .css files
{
test: /\.css$/,
use: [
{
loader: "style-loader"
},
{
loader: "css-loader",
options: {
modules: {
localIdentName: "[name]_[local]_[hash:base64]"
}
}
}
]
},