【问题标题】:Aurelia Custom elments not showingAurelia 自定义元素未显示
【发布时间】:2018-09-18 23:26:33
【问题描述】:

我正在处理一个较旧的 Aurelia 1 项目,该项目今天早些时候开始出现问题。在摆弄并重新安装 node_modules 之后,事情运行但似乎没有加载任何组件。这是我的结构的样子:

- elements - form-login - form-login.html - form-login.js - form-login.scss - views - authentication - login.html - login.js - login.scss

(还有更多,但我暂时不说。)

login.html 像这样加载<form-login>

<template>
    <require from="elements/form-login/form-login"></require>

    <main class="${ navigationInstruction.name }">
        <form-login class="login__form" success.bind="CALLBACK_SUCCESS"></form-login>
    </main>

结果是一个空白屏幕,&lt;form-login&gt; 的任何内容都不会被渲染。

我已经发现他的 require 标记不应该指向 HTML 文件,而是指向组件的目录/名称,但情况确实如此。

form-login.js 的内容如下所示(不含无关部分):

import {bindable, decorators} from 'aurelia-framework';
import './form-login.scss';


/**
 * The application top navigation bar
 */
export const FormLogin = decorators(
  bindable('success')
).on(class {
  // Lots of code in here but constructor() is never fired.
});

【问题讨论】:

  • 你试过相对路径吗? (from="../../elements/form-login/form-login") ?
  • 感谢您的建议,刚刚尝试过,没有运气。
  • 您是否有机会使用export default class FormLogin {} 导出元素?如果不是这样,我认为您应该在 form-login.js 和 form-login.html 中分享更多代码
  • 我这里没有使用默认值,是吗?我已经在上面添加了内容。
  • 它是一个完全空白的屏幕(例如,没有任何 Aurelia 加载的迹象)还是只是有问题的组件从未加载?

标签: aurelia custom-element


【解决方案1】:

从 cmets 中的解决方案来看,这是 package.lock.json 文件的 npm 问题。

将它与 node_modules 一起删除并重新安装包。

【讨论】:

  • 嗯,有点,不是真的...重新安装 node_modules 没有工作。显然我的 package.json 解析为不能一起工作的依赖项。幸运的是,我有一个 DID 工作的暂存环境的备用 node_mdules env。我对此进行了包装并安装了该特定版本。它现在又可以工作了,但我怀疑某些库的早期版本之间存在一些 API 不兼容。
  • 重装node_modules时有没有package.lock.json?我已经看到了几十个关于“损坏”构建的问题,这些问题都归结为 npm 问题。与 aurelia 无关。
  • 没有 package.lock.json。
  • shrinkwrap then.. 要点是这是一个包管理器问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 2019-05-24
相关资源
最近更新 更多