使用 nextjs 的摩纳哥编辑器

Monaco editor with nextjs

在下一个 js 中使用 monaco 编辑器时出现此错误。 有人解决了吗?

Failed to compile
./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css
Global CSS cannot be imported from within node_modules.
Read more: https://err.sh/next.js/css-npm
Location: node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js```

添加这个 webpack 配置为我修复了它

const withCSS = require('@zeit/next-css');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');

module.exports = withCSS({
  webpack(config, options) {
    config.plugins.push(new MonacoWebpackPlugin());
    return config;
  },
  cssLoaderOptions: { url: false }
})

@monaco-editor/react第三方助手

我不确定它为什么有效,我宁愿避免第三方的东西,但这是我开始工作的第一件事,他们把它打包得很好,所以在这里:

你可以在使用它时去掉 MonacoWebpackPlugin

我测试的主要依赖项:

  "dependencies": {
    "@monaco-editor/react": "4.2.1",
    "next": "11.0.1",
    "monaco-editor": "0.26.1",

那么用法就如README中描述的那样。他们公开了一个 Editor 组件助手,但如果需要,您也可以获得一个 monaco 实例。

相关: