- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
据我所知,Aurelia 不支持提到的服务端渲染 here .
但问题是:是否可以通过一些技巧/解决方法来做到这一点?
最明显的想法是使用 Phantom、Nightmare.js 或其他任何工具在服务器上的 Chrome 中简单地呈现该页面并将其提供给客户端,但这很可能会导致很大的生产力问题。
谢谢!
根据 Rob Eisenberg 今天(2016 年 4 月 16 日)在 FDConf 上的回应,服务器端渲染将在 2016 年实现,有一个核心团队成员正在做这件事,这个功能有一个截止日期。
最佳答案
有一个open issue for Universal/Isomorphic Aurelia你可以监控。特别是 EisenbergEffect(即 Aurelia 的创建者 Rob Eisenberg)表示,他们正在逐步努力为 Aurelia 提供通用支持。他的这篇文章提供了大部分细节:
EisenbergEffect commented on Aug 25
We are trying to lock things down within the next month. That doesn'tmean we won't add anything after that, but we need to work towardsstabilization, performance and solid documentation withoutdistractions of lots of new features for a little bit.
Primarily, "isomorphism" isn't a use case we want to tackle for theinitial v1 release. Again, that doesn't mean we won't do it later.But, we want to have a solid framework for browser-based apps as wellas phone gap and electron/nwjs desktop apps first. That was ouroriginal goal and we want to make sure we handle those scenariosbetter than any other framework or library.
After that, we've got some other features we want to do, which arevaluable in their own right, but will also take us closer toisomorphism.
- Enable all aurelia libraries to run on the server. This enables somenew testing scenarios, so it's valuable if only from that perspective.
- Once code can run on the server, we can then implement server viewcompilation. This isn't isomorphic rendering, but rather the abilityto run Aurelia's view compiler as part of your build and bundleprocess. This enables more work to be done ahead of time, as part ofyour build, and then it doesn't need to be done in the browser atruntime. So, this will improve the startup time for all apps andreduce initial render times for all components. It also will make itpossible to store compiled views in browser local cache to improveperformance of successive runs of the application.
- After both of thosethings are in place, then we can look at doing a full server renderfor each route. This isn't quite isomorphic in the truest sense, butit solves the SEO problem without needing 3rd party libraries. So,it's nice to have a solution there.
- Finally, we can then "sync" aserver pre-rendered app with a stateful Aurelia app running inbrowser, giving us 100% isomorphic support. So, those are the stages.The first two would be beneficial to all developers, even those whoare not interested in isomorphic apps. The 3rd stage can be done todaywith 3rd party libraries, so this is a nice to have for us, for thosewho don't want an extra dependency. All of that leads into 4 whichadds the final pieces.
We have already begun some of the work on 1. That might get into ourfirst release. We aren't going to push it, but it's already inprogress and we're looking for the problem areas so we can make itwork. Steps 2-4 involve significant work. Really, we are talking abouta collection of features here, each one being rather complex. So,those will probably come in stages after v1, as point releases.
We really don't want to do what Angular 2 has done. They havemassively complicated their architecture...to the point that very fewpeople will be able to understand it and developing applications withit has become much more complicated, with many nuances. We reallydon't want that, so we're focusing on the developer experience we wantfirst, then we'll come back and see about isomorphic support (yes, wealready have ideas how to do this cleanly, but want to give thoseideas some time to mature). In all of this, our goal is to be modular.So, if you don't care about isomorphism, you don't have to think orworry about it. If you do, you would install the necessary packages,agree to the "constraints" of the system and be on your way.
So, to all who are interested in this topic, I would just ask youkindly to be patient. For those who aren't interested in isomorphism,don't worry, we aren't going to brake the developer experience on you.For those of you who want it badly, you will have to wait longer andit will come in stages and in modular pieces so as not to disruptothers.
关于javascript - Aurelia:同构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153639/
我想在 aurelia 中触发两种不同的方法,实现这一目标的最佳方法是什么? 最佳答案 我可能会做的是以下 HTML Javascript yourFunction(event, parts) {
我正在学习 Aurelia 的工作原理,并且我正在尝试让一个简单的自定义属性工作。它所做的就是根据某些值的变化来改变 div 文本的颜色。 我有一个 div,它有: high.bind="ch
我想在小型移动 Cordova 应用程序中使用 aurelia。是否可以省略任何模块加载器,如 requirejs 并直接在脚本标签中使用 aurelia 包,如 ? 谢谢, 乔治 最佳答案 您
我正在构建一个 aurelia 自定义元素库,供多个不同的 aurelia 应用程序使用,但在使用 CLI 进程将自定义元素 html 正确 Hook 到应用程序包时遇到了麻烦。 我目前认为该库将成为
我刚刚尝试了 aurelia 的入门应用程序,并注意到当在两个浏览器(chrome 和 ff)中打开时,它会保持导航同步。看起来路由器实例驻留在应用程序范围内。我在文档中没有找到任何有关范围的信息,所
Knockout JS 有虚拟元素的概念。这些是“ headless ”元素,您可以将其绑定(bind)到没有 HTML 元素作为容器的元素。这允许您在不发出外部 HTML 的容器中绑定(bind)数
最近我一直在玩不同的框架和库,寻找真正适合我需求的东西。 你看,我的工作主要涉及创建 asp.net mvc 应用程序,对于大多数使用 Razor 和一点点 jQuery 就足够了。但在某些情况下,仅
最后,我开始与 Aurelia 合作。有一个入门套件可用 Here这有助于初始化 Aurelia。但它是一个模板,应该在网站模板中使用。 我有一个预配置 WebApi项目,我想在其中使用 Aureli
在 Aurelia 从这里发布之前,我使用了启动工具包来构建我的应用程序: https://github.com/aurelia/skeleton-navigation 但是当 Aurelia 发布时
我已经使用 typescript 安装了一个全新的骨架导航,并尝试按照此处的说明进行操作: http://aurelia-ui-toolkits.github.io/demo-materialize/
我有以下按钮,我只想在满足给定条件时激活(点击启用),尽管视觉上禁用了按钮 click 事件在用户点击时仍会触发。 [更新]将 false 更改为 true 我在清理示例以在此处发布时错误地插入了错
在 aurelia 中,当在自定义元素中使用插槽时,是否可以以某种方式在插槽上使用 ref 元素(也许是 Aurelia 团队的新功能?github 问题据说是在 SO 而不是在 github 上发布
我正在为我的项目使用 Aurelia,现在我在导航到上一页时遇到问题。我想知道有什么方法可以从 Aurelia 路由器对象获取以前的路由器信息。 this.router.navigateToRoute
我正在寻找一种将类动态添加到 aurelia 模板的方法。如果特定的 li 可见,我必须添加一个事件类。 例子 {{title}}
我已经向我的路由器添加了授权管道步骤。一切正常,但是当我使用 Redirect 时类来将用户指向登录页面,它接受一个 URL 作为它的参数。如果我使用 Router.navigateToRoute()
我在将属性传递到自定义组件时遇到了一些问题。我尝试通过以下方式声明我的组件: import {customElement, bindable} from "aurelia-framework";
{ route: 'content/:id', name: 'Details', title: 'Details', viewPorts
我正在处理 Aurelia Sample app并希望将构建输出(vendor-bundle.js 和 app-bundle.js)部署到 www-root\scripts而不是默认 scripts目
我正在尝试创建一个简单的 Aurelia 可重用小部件,它封装了一个标签和一个文本输入字段。我们的想法是创建一个包含这些可重用 UI 小部件的库,以便更轻松地组合屏幕和表单——或许可以从“Angula
我正在尝试在复选框列表上使用去抖动绑定(bind)行为,但它似乎没有按我预期的方式工作(我不确定你是否可以去抖动复选框): Checkbox value "${v}" 单击任何复选框会导致
我是一名优秀的程序员,十分优秀!