最新防暴版本(3.11)的最新推荐seed/setup是什么?

What is the most up-to-date recommended seed/setup for latest riot version (3.11)?

今天UI获得暴动的最优雅方法是什么?

我希望能解决以下几点:

  1. 便于调试的适当代码映射
  2. 捆绑应用程序的好方法(目前我使用的是 Webpack 和 JSPM)
  3. 如果它能优雅地与 Typescript 一起工作,那就太好了。
  4. 用Tag文件好还是直接用JS好?如果是后者,使用继承自 riot 标签 class 的 class 会更好吗?如果是这样,我可以将模板代码放在不同的文件中吗?
  5. 未来的兼容性:我看到会有变化(那个 "export default" 的东西)- 你会建议如何编写最平滑的迁移路径的代码?

如果您有更多要考虑的项目 - 请添加....

感谢您提出这些问题。我已尝试回答您所有的问题,希望它们对其他 Riot.js 用户也有用

A proper code-mapping for easy debugging

riot 编译器生成简单的 javascript 代码,无需过多修改原始源代码的结构。任何现代浏览器都应该能够提供 debugger 断点和 console 调用您需要的所有调试工具。例如检查堆栈 trace of this error 你不需要更多的东西来弄清楚它来自哪里。

A good way to bundle the application (so far i used Webpack and JSPM)

在这个 repo 中,我们提供了 3 个不同的 javascript 包示例:rollup, webpack, riot-compiler。我个人更喜欢汇总,但您可以(并且应该)使用最适合您和您的团队的任何东西。

It would be lovely if it would work elegantly with Typescript.

riot public 方法已经作为 Typescript 接口提供: - https://www.npmjs.com/package/@types/riot - https://www.npmjs.com/package/@types/riot-route

我不是打字稿用户,这就是为什么我不会花时间在我不使用的技术中制作示例,但欢迎 PR

Is it best to use Tag files, or straight JS? If the later, would it be better to use a class that inherit from riot's tag class? If so, can i place the template code in a different file?

我建议你只使用标签文件,因为 riot 被设计为组件库,它完全包含组件组合与 class 继承的哲学。如果你有跨多个组件共享的代码,你可以使用 mixins 或直接在你的标签中使用你的捆绑器导入它 see for example

Future compatibility: i saw that there's going to be a change (that "export default" thing) - how would you recommend to write the code for the smoothest migration path?

Riot 3 将与 Riot 4 不兼容。(这将是一个完整的重写)我不能推荐任何最佳实践来使您的代码可移植到 Riot 4。请记住,Riot 3 仍将受到支持并且您的在接下来的 10 年里,即使在 IE9 上,代码也将 运行。一旦 riot 4 发布并且 API 稳定,我可以提供更多关于迁移路径的提示。