monaco-sql-languages icon indicating copy to clipboard operation
monaco-sql-languages copied to clipboard

Vue3 + Vite4 + monaco-editor 加载 monaco-sql-languages package 报错

Open xinyufyj opened this issue 2 years ago • 16 comments

用 vue3 和 vite4 安装了 monaco-sql-languages, 但是启动项目之后, 控制台报错。 代码和错误如下: image

image

xinyufyj avatar Aug 28 '23 02:08 xinyufyj

你可以参考

  1. monaco-editor 官方文档 https://github.com/microsoft/monaco-editor/blob/main/docs/integrate-esm.md#using-vite
  2. vite 的 issue 中关于此问题的讨论 https://github.com/vitejs/vite/discussions/1791

HaydenOrz avatar Aug 28 '23 02:08 HaydenOrz

另外本仓库的website 也是通过 vite4 构建,或许可以作为你的参考

HaydenOrz avatar Aug 28 '23 02:08 HaydenOrz

你可以参考

  1. monaco-editor 官方文档 https://github.com/microsoft/monaco-editor/blob/main/docs/integrate-esm.md#using-vite
  2. vite 的 issue 中关于此问题的讨论 Import monaco-editor using Vite 2 vitejs/vite#1791

感谢回复,这些都参考过了,使用 monaco-editor 内置的 worker,如: json 和 JavaScript 的 worker ,都没有问题;但是使用 monaco-sql-languages 提供的 mysql 的 worker 就会报错;

xinyufyj avatar Aug 28 '23 02:08 xinyufyj

另外本仓库的website 也是通过 vite4 构建,或许可以作为你的参考

website 中的代码也参考了,本地能正常启起来,看代码中用了 @dtinsight/molecule 这个 ide,但是直接用 monaco-editor 就会报错,不知道是我哪里没有配置对。

xinyufyj avatar Aug 28 '23 02:08 xinyufyj

可以提供一下你的vite 配置文件吗

HaydenOrz avatar Aug 28 '23 02:08 HaydenOrz

可以提供一下你的vite 配置文件吗

没有额外的 vite 配置

xinyufyj avatar Aug 28 '23 03:08 xinyufyj

@xinyufyj 在你的vite配置文件中添加这个配置assetsInclude: ['**/*.worker.js?worker']试试,把worker.js文件当作静态资源输出

zwight avatar Aug 28 '23 03:08 zwight

@xinyufyj 在你的vite配置文件中添加这个配置assetsInclude: ['**/*.worker.js?worker']试试,把worker.js文件当作静态资源输出

感谢回复,试了下还是不行,跟 assetsInclude 配置应该没什么关系。

xinyufyj avatar Aug 28 '23 04:08 xinyufyj

可以提供一下你的vite 配置文件吗

@HaydenOrz 发现 monaco-sql-languages 的 worker 内部依赖了 dt-sql-parser,会有一些 nodejs 相关的 api,参考 website 中 vite.config.js 的配置,但是项目启动之后还是报错了,这是我的 vite 配置文件:

image

xinyufyj avatar Aug 29 '23 07:08 xinyufyj

@xinyufyj 在你的vite配置文件中添加这个配置assetsInclude: ['**/*.worker.js?worker']试试,把worker.js文件当作静态资源输出

感谢回复,试了下还是不行,跟 assetsInclude 配置应该没什么关系。

本地构建一个minimal demo, 放到github repository,我们复现一下看看

mumiao avatar Aug 30 '23 03:08 mumiao

我也遇到了一样的问题 好像也是用到了node的api 比如fs 和 dt-sql-parser,大佬你的问题解决了吗?

binbinecust avatar Oct 17 '23 04:10 binbinecust

image

binbinecust avatar Oct 17 '23 04:10 binbinecust

我也遇到了一样的问题 好像也是用到了node的api 比如fs 和 dt-sql-parser,大佬你的问题解决了吗?

你好,请问你的打包工具用的是 vite 还是 webpack?

HaydenOrz avatar Oct 17 '23 05:10 HaydenOrz

关于在 vite 中集成的问题,关联 issue #87 以及 vite issue#15359

HaydenOrz avatar Dec 15 '23 10:12 HaydenOrz

@xinyufyj @binbinecust 现在 monaco-sql-languages 提供了一些集成示例可以作为参考,另外更新了集成文档,以及遇到集成问题如何解决的文档

但是很遗憾,目前在 vite 项目中集成仍然会有一些问题,我们会持续跟进集成相关问题

HaydenOrz avatar Dec 20 '23 11:12 HaydenOrz

@xinyufyj @binbinecust

monaco-sql-languages 0.12.0-beta.11 版本已发布: https://www.npmjs.com/package/monaco-sql-languages/v/0.12.0-beta.11

我们已经确认了此问题在改版本上修复,请安装该版本以修复此问题。 另外,该版本上有一些破坏性变更,如果升级后导致了项目异常,请查看最新的文档。

如果本问题不再活跃,将在一周内关闭。

HaydenOrz avatar Apr 01 '24 12:04 HaydenOrz