Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将reactstrap与Next.js一起使用_Javascript_Css_Reactjs_Next.js_Reactstrap - Fatal编程技术网

Javascript 将reactstrap与Next.js一起使用

Javascript 将reactstrap与Next.js一起使用,javascript,css,reactjs,next.js,reactstrap,Javascript,Css,Reactjs,Next.js,Reactstrap,我正在使用Next.js创建React应用程序,并尝试使用reactstrap提供的组件 我遇到的问题似乎涉及导入名为bootstrap/dist/CSS/bootstrap.min.CSS的CSS文件,正如reactstrap指南所说的那样 我看到的错误是bootstrap/dist/css/bootstrap.min.css中的错误 模块分析失败:意外令牌(6:3)您可能需要适当的加载程序来处理此文件类型。 有人知道我要做什么才能让它正常工作吗?我是一个新的网络开发人员,如果我遗漏了任何明显

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

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

我看到的错误是bootstrap/dist/css/bootstrap.min.css中的
错误
模块分析失败:意外令牌(6:3)您可能需要适当的加载程序来处理此文件类型。

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


谢谢

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

npm install --save @zeit/next-css
然后在项目根目录中创建
next.config.js
文件,并向其中添加以下内容:

// next.config.js
const withCSS = require('@zeit/next-css')
module.exports = withCSS({/* my next config */})
您可以通过创建一个简单页面并导入一些CSS来测试这是否有效。首先创建一个CSS文件:

// ./index.css
div {
    color: tomato;
}
然后用
index.js
文件创建
pages
文件夹。然后,您可以在组件中执行以下操作:

// ./pages/index.js
import "../index.css"
export default () => <div>Welcome to next.js 7!</div>
/./pages/index.js
导入“./index.css”
导出默认值()=>欢迎使用next.js 7!
您还可以将CSS模块与几行配置一起使用。有关这方面的更多信息,请参阅上的文档


Next.js

默认情况下,Next.js不附带CSS导入。你必须使用网页包加载器。您可以在此处阅读此功能的工作原理:

js还有用于CSS、SASS和SCS的插件。以下是CSS的插件:。该插件的文档非常简单:

  • 您可以在
    页面/
    中创建
    \u文档
    文件
  • 在根目录中创建
    next.config.js
    文件
  • 使用文档中的代码片段可以设置您导入CSS文件


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

    如果您仍然收到错误:

    Unexpected token (6:3) 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({
      cssLoaderOptions: {
        url: false
      }
    })
    
  • 现在,您应该能够像下面这样从node_模块导入样式表:
  • 注意:使用nextv8+

    背景: 我花了几个小时试图简单地导入一个作为node_模块安装的CSS,各种解决方案大多是黑客的解决方法,但如上所示,有一个解决方案

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

    Next.js 9.3及以上版本 到目前为止,您可以直接将SCSS文件作为全局样式表导入。了解更多关于next.js内置的信息

    Index.scss

    @import '~node_modules/bootstrap/scss/bootstrap';
    

    你能告诉我怎么解决这个问题吗?因为我遵循了这个规则,但我有一个错误!谢谢你hi@Hamed,评论是用来要求澄清或指出帖子中的问题的,所以我无法在评论部分帮助你。如果你需要用你的代码解决一个问题,你可以随时打开一个新的问题,描述你遇到的问题,包括你收到的任何错误消息。有许许多多的人随时准备提供帮助,所以不要害怕问:)。当然!谢谢你通知我。我找到了一个解决方案,它在css-loader-config.js文件中有一点变化!这一行应该注释掉://minimize:!devI亲自从我的版面中添加了
    导入
    css文件,该文件本身是从我的
    页面/\u app.tsx
    导入的,这样它就会自动包含在每个页面中。我仍然不知道如何处理Popper和TransitionGroup libs,文档有点糟糕。谢谢你的回答,这意味着什么?withCSS({/*我的下一个配置*/})不确定“我的下一个配置”在此上下文中的含义@mtl+1当我尝试添加一个网页包编译的css文件时,这对我很有效。只是让其他人知道他们是否遇到了同样的问题。
    npm install sass reactstrap bootstrap
    
    @import '~node_modules/bootstrap/scss/bootstrap';