gpt4 book ai didi

durandal - 如何将我的 Durandal.js 应用程序升级到 Aurelia?

转载 作者:行者123 更新时间:2023-12-03 20:30:07 25 4
gpt4 key购买 nike

我有一个现有的 Durandal.js 应用程序,它利用了所有 ES5 功能,但我想将它升级到新的 Aurelia 平台。什么是正确的升级路径?最简单的升级方式是什么?是否有包含升级路径的文档?

最佳答案

(请随时通过贡献将其作为社区答案)

模块加载

  • Aurelia 支持使用 AMD 模块和 require.js 作为模块加载器。如果您将 require.js 与 Durandal 一起使用,并且想要将您的模块转换为 Aurelia,它们应该几乎相同,具体取决于将来对 require.js 的任何更改。
  • 生命周期回调与 activate 的含义相同。 , attached , detached , deactivate , canActivate , canDeactivate ,并且任何其他人都应该保持不变。他们也仍然接受返回的 promise 。
  • 如果您选择不坚持使用 require.js,您可以将 AMD 模块从 AMD 格式转换为 ES6+ 格式。这需要删除 AMD 模块中的第一行或第二行和最后一行,并将其替换为类似于此的类导出 -
    define([], function (){
    // stuff
    ]);

    变成
    import {inject} from 'aurelia-framework';
    @inject()
    export class TheClassName{
    // stuff
    }

  • 其中注入(inject)件是 aurelia 的 DI 系统。

    数据绑定(bind)
  • Aurelia 为开发人员提供了使用您希望使用的任何数据绑定(bind)库的能力,包括但不限于默认的 aurelia-binding , handlebars , knockout等...
  • 当值发生变化时,其中一些库可能仍需要插件来正确更新,但这是一个正在进行的工作,以找出哪些做。如果您使用的是 Durandal 2.1 和 knockout建议将数据绑定(bind)保持原样,并采取逐步升级的方法,一次一个 View 模型。 这是一项正在进行的工作,将在 future 得到更好的解释
  • Aurelia 数据绑定(bind)尝试利用可用的最新技术,但会优雅地回退到脏检查。这使开发人员能够构建 future 但支持现在。
  • 关于durandal - 如何将我的 Durandal.js 应用程序升级到 Aurelia?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28154538/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com