webpack 使用NextJS和Next-CSS:您可能需要一个适当的加载器来处理这种文件类型

r8xiu3jd  于 2023-10-19  发布在  Webpack
关注(0)|答案(4)|浏览(149)

使用NextJS构建React-App i。要使用CSS文件,我使用next-css plugin来执行此操作。但是当我构建我的应用程序时,我得到以下错误:

Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.

我的next.config.js文件看起来像这样:

// next.config.js
const withCSS = require('@zeit/next-css')
module.exports = withCSS({
  cssModules: false,
})

我在我的组件中导入并使用. css文件,如下所示:

import '../style.css'
export default () => <div className="example">Hello World!</div>

我的CSS文件看起来像这样:

.example {
  color: red;
 }

我的问题在哪里?谁能帮我修一下吗?

syqv5f0l

syqv5f0l1#

我解决了问题。在我的next.config.js中,我使用了多个插件。我的错误是我写了几个module.exports语句。在我的例子中,解决方案看起来像这样:

//next.config.js
const withImages = require('next-images');
const withCSS = require('@zeit/next-css');

module.exports = withImages(withCSS());
lsmd5eda

lsmd5eda2#

在接下来的.config.js中尝试:

// next.config.js 
const withCSS = require('@zeit/next-css')

module.exports = withCSS({
  cssLoaderOptions: {
    url: false
  }
})

现在你应该可以像这样从node_modules导入样式表了:

import 'bootstrap-css-only/css/bootstrap.min.css';
pjngdqdw

pjngdqdw3#

我不知道你有什么问题,但我只是按照docs example
1已安装next-css npm install --save @zeit/next-css
2已创建next.config.js

const withCSS = require('@zeit/next-css');
module.exports = withCSS();

3在根文件夹中创建style.css文件

.example {
  font-size: 50px;
  background-color: red;
}

4创建了一个包含样式的测试页面

import '../style.css';

export default () => <div className="example">Hello World!</div>;

结果显示this
我有以下依赖项

"@zeit/next-css": "^1.0.1",
"next": "^7.0.0",
"react": "^16.5.2",
"react-dom": "^16.5.2"

希望这对你有一点帮助!

woobm2wo

woobm2wo4#

已经过了很长时间了,但也许这会对某人有所帮助。我在NextJS中添加视频时遇到了同样的问题。
首先你应该安装file-loader

npm i file-loader

然后我修改了我的next.js.js文件,如下所示:

module.exports = {
webpack: (config) => {
config.module.rules.push({
  test: /\.(mov|mp4|webm)$/,
  use: [
    {
      loader: "file-loader",
      options: {
        publicPath: "/_next/static/videos/",
        outputPath: "static/videos/",
        name: "[name].[hash].[ext]",
        esModule: false,
      },
    },
  ],
});

return config;
},
};

这些步骤解决了我的问题。

相关问题