首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Next.js中使用reactstrap

在Next.js中使用reactstrap
EN

Stack Overflow用户
提问于 2018-04-24 10:10:08
回答 3查看 21.6K关注 0票数 25

我正在使用Next.js创建一个React应用程序,并尝试使用reactstrap提供的组件。

我似乎遇到的问题似乎涉及按照reactstrap指南所说的那样导入名为bootstrap/dist/css/bootstrap.min.css的CSS文件。

我看到的错误是Error in bootstrap/dist/css/bootstrap.min.css Module parse failed: Unexpected token (6:3) You may need an appropriate loader to handle this file type.

有人知道我要怎么做才能让它正常工作吗?我是一个新的网络开发人员,非常抱歉,如果我错过了任何明显的东西。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-24 21:27:37

编辑:从Next.js 7开始,要支持导入.css文件,您只需在next.config.js中注册withCSS插件即可。首先安装插件:

代码语言:javascript
运行
复制
npm install --save @zeit/next-css

然后在项目根目录中创建next.config.js文件,并向其中添加以下内容:

代码语言:javascript
运行
复制
// next.config.js
const withCSS = require('@zeit/next-css')
module.exports = withCSS({/* my next config */})

您可以通过创建一个简单的页面并导入一些CSS来测试它是否正常工作。首先创建一个CSS文件:

代码语言:javascript
运行
复制
// ./index.css
div {
    color: tomato;
}

然后使用index.js文件创建pages文件夹。然后你可以在你的组件中做这样的事情:

代码语言:javascript
运行
复制
// ./pages/index.js
import "../index.css"
export default () => <div>Welcome to next.js 7!</div>

您还可以使用带有几行配置的CSS模块。有关这方面的更多信息,请查看nextjs.org/docs/#css上的文档。

Next.js <版本7

默认情况下,Next.js不随CSS导入一起提供。你得用一台webpack装载机。你可以在这里阅读到它是如何工作的:https://zeit.co/blog/next5#css,-less,-sass,-scss-and-css-modules

Next.js也有CSS,SASS和SCSS的插件。这是CSS:https://github.com/zeit/next-plugins/tree/master/packages/next-css的插件。该插件的文档让它变得相当简单:

pages/.

  • You中创建
  1. _document文件在根目录中创建next.config.js文件。

使用文档中的代码片段应该可以设置导入CSS文件。

您至少需要5.0版。您可以确保安装了最新的Next.js:npm i next@latest

票数 35
EN

Stack Overflow用户

发布于 2019-03-20 15:59:34

如果仍然出现错误:

代码语言:javascript
运行
复制
Unexpected token (6:3) You may need an appropriate loader to handle this file type. 

在你的next.config.js中试试这个:

代码语言:javascript
运行
复制
// next.config.js 
const withCSS = require('@zeit/next-css')

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

  1. 现在您应该能够像这样从node_modules导入样式表:

代码语言:javascript
运行
复制
import 'bootstrap-css-only/css/bootstrap.min.css';

注意:使用Next v 8+

背景:我花了几个小时尝试简单地导入作为node_module安装的CSS,各种解决方案大多是老套的变通方法,但如上所述,有一个simple solution

它是由核心团队成员之一提供的

票数 6
EN

Stack Overflow用户

发布于 2020-11-07 13:31:22

Next.js 9.3及更高版本

Next.js 9.3开始,您现在可以直接将SCSS文件作为全局样式表导入。阅读有关next.js内置SASS support here的更多信息。

代码语言:javascript
运行
复制
npm install sass reactstrap bootstrap

Index.scss

代码语言:javascript
运行
复制
@import '~node_modules/bootstrap/scss/bootstrap';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49992423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档