Aurelia:自定义元素未按预期呈现输出。浏览器不加载 js 文件。

Aurelia: custom elements doesn't render output as expected. Browser doesn't load js file.

我正在尝试使用 aurelia 设计自定义元素,但我 运行 一遍又一遍地遇到同样的问题:浏览器加载组件的 html 文件而不是其兄弟 js 文件。我正在使用 es2016 入门套件 1.0.0-beta.1.2.0、jspm 0.16.15 和 npm 2.11.2

具体来说,考虑这个(非常)简单的例子。该组件(如预期)称为 test,其 html 和 js 文件分别如下所示:

test.html:

<template>
<div>Name: ${name}</div>`
</template>`

test.js

import {bindable} from 'aurelia-framework';
export class Test {
@bindable name = "";
}

从文件 app.html 调用组件,属性 的名称的值设置为 app.js,如下所示:

app.html:

<template>
<require from="bootstrap/css/bootstrap.css"></require>
<require from="./test.html"></require>

<div class="page-host">
      <test name.bind="name"></test>
</div>
</template>

app.js:

export class Welcome {
   name = 'My Test';
}

获取本地服务器到运行后,输出就是:

姓名:

虽然预期的输出是:名称:我的测试。

我注意到的是: 1) 如果我转到 google chrome 的开发工具中的源文件夹 dist,我会看到加载了以下文件:app.html; app.js 和 test.html。 也就是说,test.js 根本不会出现在那里。 2) 如果写 test.html 如下:

 <template bindable="name">
 <div>Name: ${name}</div>
 </template>

我有预期的输出:名称:我的测试

我应该遗漏了一些我不太明白的非常愚蠢的东西。关于可能发生的事情的任何提示?发送

当您在导入末尾追加 .html 时,您告诉加载程序仅加载 html 文件 -

<require from="./test.html"></require>

你需要像这样删除它 -

<require from="./test"></require>