Aurelia CLI 应用程序包自动更新变慢

2023-12-31

您好,我有一个在 Aurelia CLI 上运行的 Web 应用程序。

从我读到的在文档中 http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/the-aurelia-cli/4,Aurelia CLI 始终“捆绑”运行,从不直接针对源文件。通过运行“au run –watch”命令,Aurelia“监听”文件更改并自动重新创建 app-bundle.js。控制台输出示例:

Starting 'readProjectConfiguration'...
Finished 'readProjectConfiguration'
Starting 'processMarkup'...
Starting 'processCSS'...
Starting 'configureEnvironment'...
Finished 'configureEnvironment'
Starting 'buildJavaScript'...
Finished 'processCSS'
Finished 'processMarkup'
Finished 'buildJavaScript'
Starting 'writeBundles'...
Tracing views/references...
Writing app-bundle.js...
Finished 'writeBundles'
Starting 'reload'...
Finished 'reload'

这很酷,但就我而言,这会导致开发人员体验不佳。当我早上上班时,我所做的任何更改都会在 app.bundle 中轻松更新,但工作一段时间后,“buildJavaScript”过程(请参阅控制台输出)总是需要更长的时间才能完成,经过几个小时的时间工作时间甚至长达 30-40 秒!对于我来说,作为一名开发人员并且必须测试许多小的更改,这是非常痛苦的。

我时不时地尝试(并且仍然这样做)停止“au run –watch”命令并再次重新执行它,最初情况会好一点,但一段时间后问题又出现了。

我的问题是:是否有解决方法,或者有某种方法可以加快速度,或者直接从源文件而不是捆绑版本提供服务,或者可能是其他解决方案?这是否是由于 Aurelia 本身的内存泄漏造成的?

UPDATE:

每隔一段时间,它就会变得如此缓慢,以至于实际上崩溃了。 这是我今天(以及其他几次)从控制台得到的信息:

==== Details ================================================

[1]: _tickCallback(aka _tickDomainCallback) [internal/process/next_tick.js:~108] [pc=000000C928AFCE81](this=000003B0DF48BE31 <a process with map 0000012166110B71>) {...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

这是一个较晚的答案,但为了将来的参考,我认为重要的是要指出,自从最近的 Aurelia CLI 版本以来,这个问题已经得到解决。

性能问题以及一些主要的稳定性问题在GitHub #293:buildTypeScript 中的错误:一个项目不能同时在两个编译中使用 https://github.com/aurelia/cli/issues/293.

这意味着如果您将 Aurelia CLI 更新为v0.30 或更高版本 https://github.com/aurelia/cli/releases,您将体验到明显更好的性能和稳定性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Aurelia CLI 应用程序包自动更新变慢 的相关文章

  • 调试变量不适用于 gulp sourcemaps + uglify

    我有以下用于捆绑 javascript 的 gulp 任务 gulp task js function return gulp src paths js pipe sourcemaps init pipe uglify pipe conca
  • Aureliajs 等待应用程序构造函数上的数据

    我正在 aureliajs 中开发一个应用程序 开发过程已经开始了好几个月 现在后端开发人员希望对其服务进行版本控制 因此 我有一个 Web 服务可以调用来获取每个服务器端 Web api 应用程序的版本 然后 对于进一步的请求 调用正确的
  • gulp + 浏览器同步无法获取/错误

    我正在学习当前的前端构建系统 我想使用浏览器同步 问题是它不会在命令行中抛出错误 而是当它启动浏览器时 它不会显示我的html文件 并且它会在浏览器窗口中显示 无法获取 错误 这是我的 gulpfile js 代码 var gulp req
  • 捆绑我的 aurelia 应用程序后,我收到:No PLATFORM.Loader 错误

    将简单的 aurelia 应用程序捆绑后jspm bundle sfx我收到以下错误 No PLATFORM Loader is defined and there is neither a System API ES6 or a Requ
  • 电子应用程序的实时重新加载

    我想使用 VScode Gulp Electron 的组合来构建一个应用程序 开发工作流程的一个不错的功能是向我的 Gulp 监视任务添加实时重新加载任务 以便在每次更改时重新加载 Electron 应用程序 任何想法如何实现这一目标 非常
  • -bash: gulp: 在 Mac 中找不到命令

    我尝试在 mac 中安装 gulp 如下所示 Is iMac itop npm root Users itop node modules Is iMac itop npm config set prefix usr local Is iMa
  • 保存到服务器后,隐藏字符“\u0”添加到文件中

    我正在使用 Apache 服务器为 Web 开发网站提供服务 这样我就可以不断保存和编辑文件 我使用 Gulp for Sass 来连接和丑化 css 和 js 文件 一个月前 我的 js 和 css 文件遇到问题 似乎在文件下面添加了随机
  • Aurelia - 仅 HTML 自定义元素的内联定义

    我的 Aurelia 视图模型中有一个递归对象 如下所示 Class BottomlessPit Name string MorePits BottomlessPit null 因此 我想在 Aurelia 视图中使用递归模板 它只会在一个
  • Gulp Watch 和 Nodemon 冲突

    简而言之 最近开始使用 Gulp 从 Grunt 转换 并且尝试使用 Gulp 的默认监视任务 不是来自 npm 的 gulp watch 用于 SASS JS HTML 和 gulp nodemon 来自 npm 来重新启动 Expres
  • Aurelia 以 PHP 传递的参数开头

    我需要在开始时将参数传递给 Aurelia 根据传递的值 应用程序将具有不同的状态 该应用程序被注入到使用 PHP 构建的页面上 因此最好的方法是使用 PHP 代码指定的参数启动它 有什么办法可以做到这一点吗 您可以在普通 JS 中访问的任
  • 将对象传递给下一个兄弟组件

    我在 AureliaJS 中的组件结构是
  • 角度2多次错误TS2300:重复的标识符

    系统配置 ubuntu 14 04 节点 v gt v5 6 0 npm v gt 3 7 1 打字最新版本 不知道如何获取版本详细信息 第一次使用 angular2 时 我的文件夹样本 服务器结构如下 server js server t
  • 少吞咽然后缩小任务

    我必须在 gulp 中执行 2 个步骤 减少 css 文件格式 缩小生成的 css 文件 这是我的吞咽文件 var gulp require gulp watch require gulp watch less require gulp l
  • 强制执行 show.bind

    我有一个包含数据的表 当从另一个视图触发事件时 我希望视图检查 show bind 语句 问题是该事件没有更改当前视图中的任何数据 foo html tr p canBeRemoved p tr 我正在使用 EventAggregator
  • 修改对象实例的 TypeScript 类装饰器

    我正在为 Aurelia 制作一个插件 需要一个类装饰器 将属性添加到新对象实例 并且 使用新对象作为参数调用外部函数 我已经查看了示例 到目前为止我已经将它们放在一起 伪 代码 return function addAndCall tar
  • 寻找在 gulp 中复制文件并根据父目录重命名的方法

    对于每个模块 我都有一些需要复制到构建目录的文件 并且正在寻找一种方法来最大限度地减少重复代码 gulp src client src modules signup index js pipe gulp dest build public
  • Gulp 和 TS 编译

    我在我的 gulp 文件中定义了任务 gulp task dev build scripts function var tsResult tsProject src pipe sourcemaps init pipe ts tsProjec
  • 如何通过 JS 中的 WebPack 包提供全局 TypeScript 类

    我目前正在研究 TypeScript 我想用 TS 替换 JS 但是我有很多 JS 文件 所以我只想在 TS 中创建新类 并想在我的旧 JS 文件 atm 中使用这些类 后来我想把所有的JS都换成TS 我对 webpack 和捆绑的 js
  • 在 gulp.src() 中获取当前文件名

    在我的 gulp js 文件中 我正在流式传输来自examples文件夹放入build文件夹 创建 gulp 任务并不困难 var gulp require gulp gulp task examples function return g
  • 在 Aurelia 视图中使用文字 JavaScript 值

    我试图通过使用 if 模板控制器使我的组件可隐藏 问题是即使我在其中输入 false 它也是可见的

随机推荐