首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有NextJS插件的CKEditor5 + CodeBlock失败(全局CSS导入错误)

带有NextJS插件的CKEditor5 + CodeBlock失败(全局CSS导入错误)
EN

Stack Overflow用户
提问于 2020-09-24 09:02:11
回答 1查看 1.7K关注 0票数 16

我正试图在CKEditor5中使用NextJS。以下是我的包版本:

代码语言:javascript
复制
"@ckeditor/ckeditor5-build-classic": "^22.0.0",
"@ckeditor/ckeditor5-code-block": "^22.0.0",
"@ckeditor/ckeditor5-react": "^2.1.0",
"next": "9.5.1",

我的组成部分的相关部分是:

代码语言:javascript
复制
import CKEditor from '@ckeditor/ckeditor5-react';
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';
import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock';

const editorConfig = {
  toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'blockQuote', 'codeBlock'],
  plugins: [CodeBlock],
  codeBlock: {
    languages: [
      { language: 'plaintext', label: 'Plain text' },
      { language: 'c', label: 'C' },
      { language: 'cs', label: 'C#' },
      { language: 'cpp', label: 'C++' },
      { language: 'css', label: 'CSS' },
      { language: 'diff', label: 'Diff' },
      { language: 'html', label: 'HTML' },
      { language: 'java', label: 'Java' },
      { language: 'javascript', label: 'JavaScript' },
      { language: 'php', label: 'PHP' },
      { language: 'python', label: 'Python' },
      { language: 'ruby', label: 'Ruby' },
      { language: 'typescript', label: 'TypeScript' },
      { language: 'xml', label: 'XML' }
    ]
  }
};

export default function AddForm() {
  return (
    <CKEditor
      editor={ClassicEditor}
      config={editorConfig}
    />
  )
}

我得到了以下错误。

代码语言:javascript
复制
./node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css
Global CSS cannot be imported from within node_modules.
Read more: https://err.sh/next.js/css-npm
Location: node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.js

正如我所看到的,CKEditor CodeBlock插件试图在包中导入全局CSS。下面是node_modules包在codeblockui.js中的一个示例:

代码语言:javascript
复制
import '../theme/codeblock.css';

我怎样才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2022-10-26 10:40:48

由于您使用的是NextJs,所以必须考虑NextJs css import rules

如果要在组件(模块)中导入css文件,则css文件名必须类似于[any name].module.css

如何导入:

代码语言:javascript
复制
import styles from './index.module.css';

如何使用:

代码语言:javascript
复制
<div className={`${styles.class1} ${styles.class2}`}>

如果css文件与命名规则不匹配,则会出现错误。

此外,您也可以导入css文件的任何名称,只有在_app.js内以正常的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64043059

复制
相关文章

相似问题

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