Aurelia功能globalResources(jspm)

时间:2016-09-16 13:35:55

标签: javascript ecmascript-6 aurelia

需要一些功能和全局资源的帮助 使用aurelia和jspm 在我的src文件夹中我有这个结构

src/
|-- components/
|   |-- core/
|   |   |-- table/

在我的主要js中我有.feature('组件')

我有两个index.js,其中一个在组件中

export function configure(config) { 
    config.feature('core'); 
}

一个核心做着

export function configure(config) { 
    config.globalResources([ './table' ]); 
}

我从系统js获得http://localhost:5000/core/index.js 404 (Not Found) 你能否拥有次级功能?或者更好,我可以拥有这个

|-- src/
|-- components/
|   |-- core/

更新

我已经成功地完成了一些工作,有一点要做:

core/index.js应如下所示:

export function configure(config) {
    config.globalResources('./table/table'); // I was missing the fact
    // I needed folder name AND js file name (without prefix)
}

其次必须是这个文件夹结构:

src/
|-- core/
|   |-- table/

您似乎无法嵌入功能

中的功能

1 个答案:

答案 0 :(得分:2)

您可以在功能中嵌套功能,只需提供完整路径。

config的{​​{1}}参数是FrameworkConfiguration类型,在注册功能时,它从src根目的角度“思考”。

鉴于这种结构:

configure(config)

您需要以下配置功能:

<强>的src / main.js

src/
|-- main.js
|-- components/
|   |-- index.js
|   |-- core/
|   |   |-- index.js
|   |   |-- table/
|   |   |   |-- index.js
|   |   |   |-- table.js
|   |   |   |-- table.html

<强>的src /组件/ index.js

aurelia.use.feature('components');

<强>的src /组件/核心/ index.js

export function configure(config) {
    let params = {}
    config.feature('components/core');
}

<强>的src /组件/核心/表/ index.js

export function configure(config) {
    config.feature('components/core/table');
}

你可以通过传递来自父节点的父路径来使这一点更加重构 - 以便子节点不需要知道它自己的绝对路径,如下所示:

<强>的src / main.js

export function configure(config) {
    config.globalResources([ './table' ]);
}

<强>的src /组件/ index.js

aurelia.use.feature('components', params => params.parent = 'components');

<强>的src /组件/核心/ index.js

export function configure(config, configure) {
    let params = { parent: '.' };
    configure(params);
    config.feature(`${params.parent}/core`, params => params.parent = `${params.parent}/core`);
}

<强>的src /组件/核心/表/ index.js

export function configure(config, configure) {
    let params = { parent: '.' };
    configure(params);
    config.feature(`${params.parent}/table`);
}

Aurelia团队似乎也正在研究这个问题,但我不知道目前的情况如何:https://github.com/aurelia/framework/issues/376