我正在尝试使用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>
我有预期的输出:姓名:我的测试
我应该错过一些我无法弄清楚的傻事。有关可能发生的事情的任何提示? TXS
答案 0 :(得分:4)
您告诉加载程序仅在导入结束时附加equalTo()
时加载html
文件 -
.html
你需要删除它 -
<require from="./test.html"></require>