0

今天获得基于 riot 的 UI 最优雅的方式是什么?

我希望解决以下几点:

  1. 适当的代码映射,便于调试
  2. 捆绑应用程序的好方法(到目前为止,我使用了 Webpack 和 JSPM)
  3. 如果它能与 Typescript 优雅地工作,那就太好了。
  4. 最好使用Tag文件还是直接JS?如果是后者,使用从 riot 的标记类继承的类会更好吗?如果是这样,我可以将模板代码放在不同的文件中吗?
  5. 未来的兼容性:我看到会有变化(即“导出默认”的东西)——你会建议如何编写代码以实现最顺畅的迁移路径?

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

4

1 回答 1

1

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

适当的代码映射,便于调试

riot 编译器只生成 javascript 代码,而不会过多地修改原始源代码的结构。任何现代浏览器都应该能够提供debugger断点并console调用您需要的所有调试工具。例如检查这个错误的堆栈跟踪,你不需要更多的东西来找出它来自哪里。

捆绑应用程序的好方法(到目前为止,我使用了 Webpack 和 JSPM)

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

如果它能与 Typescript 优雅地工作,那就太好了。

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

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

最好使用Tag文件还是直接JS?如果是后者,使用从 riot 的标记类继承的类会更好吗?如果是这样,我可以将模板代码放在不同的文件中吗?

我建议你只使用标签文件,因为 riot 被设计为组件库,它完全包含组件组合与类继承的理念。如果您有跨多个组件共享的代码,您可以使用 mixins 或直接在标签中将其与捆绑器一起导入,例如

未来的兼容性:我看到会有变化(即“导出默认”的东西)——你会建议如何编写代码以实现最顺畅的迁移路径?

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

于 2018-08-07T20:04:20.537 回答