不能在 Rails 上使用带有 jsbundling/esbuild 的 TS/JS 装饰器

Can't use TS/JS decorators with jsbundling/esbuild on Rails

提问人:Luke Bretscher 提问时间:11/15/2023 最后编辑:Luke Bretscher 更新时间:11/15/2023 访问量:32

问:

我正在尝试让 Angular 在 Rails 6 项目中运行。我已经安装了 jsbundling-rails(带有 esbuild)和 typescript-rails gems 来加载我的 JavaScript 和 TypeScript 文件。应该发生的事情是我编写一些 TS,然后 typescript-rails 将其转译为 JS,然后 esbuild 将其全部捆绑起来,jsbundling-rails 在 Rails 应用程序上运行它。

这种工作是有效的,但当我使用像这样的 TypeScript 装饰器时就不行了。它被转译为 JS,但后来它没有运行,因为我在 @ 符号处收到错误。我尝试将标志放在 typescript-rails 配置中,但它没有帮助。@NgModuleInvalid or unexpected token--experimentalDecorators

发生这种情况是因为 typescript-rails gem 正在将(标准)TS 装饰器变成(不受支持的)JS 装饰器吗?我应该摆脱打字稿导轨吗(在安装之前我无法让 TS 运行)?我可以让 JS 编译器支持装饰器吗?

Ruby-on-Rails Angular Typescript esbuild typescript-decorator

评论

0赞 engineersmnky 11/16/2023
typescript-rails7年未更新。 可以使用 esbuild 处理打字稿。请参阅有关装饰器的此问题:github.com/evanw/esbuild/issues/104jsbundling-rails
0赞 Luke Bretscher 11/16/2023
@engineersmnky是的,我最终放弃了打字稿导轨并让 esbuild 来处理它。所以没关系。现在我正在尝试让模块导入路径正常工作。叹息。

答: 暂无答案