Aurelia webpack加载程序无法找到我添加的模块作为功能



我有一个使用WebPack构建的小型Aurelia应用程序。在我的 src 文件夹下,我有 util index.ts.ts 的文件夹。在 main.ts 我这样打开功能:

import { Aurelia, PLATFORM } from "aurelia-framework";
export function configure(aurelia: Aurelia) {
    aurelia.use
        .standardConfiguration()
        .developmentLogging()
        .feature(PLATFORM.moduleName("util"));
    aurelia.start().then(() => aurelia.setRoot(PLATFORM.moduleName("app")));
}

util/index.ts

import { FrameworkConfiguration } from 'aurelia-framework';
export function configure(config: FrameworkConfiguration): void {
    config.globalResources([
        "./converters",
        "./rest"
    ]);
}

转换器 REST util 的typescript模块。

我正在遵循Aurelia Hub的说明。

当我在浏览器中打开应用时,我会看到以下错误:

Uncaught (in promise) Error: Unable to find module with ID: util/index
    at WebpackLoader.<anonymous> (aurelia-loader-webpack.js:187)
    at step (aurelia-loader-webpack.js:36)
    at Object.next (aurelia-loader-webpack.js:17)
    at aurelia-loader-webpack.js:11
    at Promise (<anonymous>)
    at webpackJsonp.64.__awaiter (aurelia-loader-webpack.js:7)
    at WebpackLoader.webpackJsonp.64.WebpackLoader._import (aurelia-loader-webpack.js:152)
    at WebpackLoader.<anonymous> (aurelia-loader-webpack.js:252)
    at step (aurelia-loader-webpack.js:36)
    at Object.next (aurelia-loader-webpack.js:17)

如果我直接引用模块而不是功能,例如。

import { Rest } from '../util/rest';

然后我没有错误,应用程序成功加载。但是我想在全球范围内提供这些模块。

使用 aurelia-webpack-plugin 版本 2.0.0-rc.2

感谢您的建议。

看一下:https://github.com/aurelia/templating-resources/blob/master/src/aurelia-templating-resources.js

编辑:

我已经工作了。关键是您需要专门在每条路径上明确调用PLATFORM.moduleName('./relative/path/to/file'),并且需要从文件(实际上是相同的目录,但仍然...(来调用config.globalResources()

换句话说,您无法捷径以下代码:

config.globalResources(
   PLATFORM.moduleName('./resource1'),
   PLATFORM.moduleName('./resource2')
);

不要尝试将资源映射到platform.modulename或动态构建文件名。

您应该将路径 PLATFORM.moduleName("util")更改为platform.modulename(" ./util"(。然后,您可以使用相对于util文件夹的路径来注册globalResources。另外,您可以在这里查看样本项目结构。另外,请参见此行,Aurelia(如果不包括在内(,则将/index添加到ModuleName中。

如果您已经尝试使用Aurelia CLI,则src/resources下的创建项目被注册为功能。

最新更新