Aurelia网页包加载程序找不到作为功能添加的模块

Aurelia网页包加载程序找不到作为功能添加的模块,aurelia,Aurelia,我有一个小奥雷利亚应用程序与网页包建成。在我的src文件夹下有一个包含index.ts的util文件夹。在main.ts中,我按如下方式打开该功能: import { Aurelia, PLATFORM } from "aurelia-framework"; export function configure(aurelia: Aurelia) { aurelia.use .standardConfiguration() .developmentLogg

我有一个小奥雷利亚应用程序与网页包建成。在我的src文件夹下有一个包含index.ts的util文件夹。在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:

转换器和rest是util下的Typescript模块

我正在按照你的指示做

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

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)
然后我没有收到任何错误,应用程序加载成功。但我想让这些模块在全球范围内可用

使用aurelia网页包插件版本2.0.0-rc.2


非常感谢您的建议。

您应该将路径PLATFORM.moduleName更改为PLATFORM.moduleName./util。然后,您可以使用相对于util文件夹的路径来注册您的globalResources。您还可以查看示例项目结构。也可以看到这段代码,aurelia在moduleName中添加了/索引,如果它没有包含,因为它是基于约定的


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

您应该将路径PLATFORM.moduleName更改为PLATFORM.moduleName./util。然后,您可以使用相对于util文件夹的路径来注册您的globalResources。您还可以查看示例项目结构。也可以看到这段代码,aurelia在moduleName中添加了/索引,如果它没有包含,因为它是基于约定的

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

请查看以下内容:

编辑:

我已经让它工作了。关键是您需要明确地在每个路径上调用PLATFORM.moduleName'./relative/path/to/file',并且需要从实际上在同一目录下但仍然。。。这将调用config.globalResources

换言之,您不能设置以下代码的快捷方式:

config.globalResources(
   PLATFORM.moduleName('./resource1'),
   PLATFORM.moduleName('./resource2')
);
不要尝试将资源映射到PLATFORM.moduleName或动态构造文件名。

请查看以下内容:

编辑:

我已经让它工作了。关键是您需要明确地在每个路径上调用PLATFORM.moduleName'./relative/path/to/file',并且需要从实际上在同一目录下但仍然。。。这将调用config.globalResources

换言之,您不能设置以下代码的快捷方式:

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

不要尝试将资源映射到PLATFORM.moduleName或动态构造文件名。

此github问题可能有用-没有,但我在main.ts中找到并更改为.featurePLATFORM.moduleName/index。现在浏览器抱怨找不到ID为util/converters的模块。因此它在util下找到index.ts,但找不到在那里声明的模块。这个github问题可能有用-没有,但我在main.ts中找到并更改为.featurePLATFORM.moduleNameutil/index。现在浏览器抱怨找不到ID为util/converters的模块。因此它在util下找到index.ts,但找不到在那里声明的模块。PLATFORM.moduleName./util没有帮助。我现在调用PLATFORM.moduleNameutil/index,它可以识别util文件夹,但无法加载我在util/index.ts中调用的资源。请参阅我对上述平台的回复。moduleName./util没有帮助。我现在调用PLATFORM.moduleNameutil/index,它可以识别util文件夹,但无法加载我在util/index.ts中调用的资源。请看我对上面的答复,可惜没有帮助。我不知道他们为什么从每个国家进口。特性及其代码示例的Aurelia文档没有提到导入。相反地全局资源应允许引用而不导入。@Benny请查看我对答案的编辑。您也可以查看此评论:谢谢@pQuestions123。PLATFORM.moduleName有帮助!我以前试过,但不记得为什么失败了。现在我注意到:资源转换器导出一个函数,资源rest导出一个类。结果是转换器被捆绑,但浏览器会像这样抱怨rest:找不到ID为util/rest.html的模块。也许它按照惯例,需要视图/视图模型。这是我需要了解全局资源的另一个问题。@Benny尝试向您的rest.js类添加@noView decorator。宾果!还有很多东西要学,但我很喜欢奥雷利亚。非常感谢@pquestion123:-遗憾的是,这没有帮助。我不知道他们为什么从每个国家进口。特性及其代码示例的Aurelia文档没有提到导入。相反地全局资源应允许引用而不导入。@Benny请查看我对答案的编辑。您也可以查看此评论:谢谢@pQuestions123。PLATFORM.moduleName有帮助!我以前试过,但不记得为什么失败了。现在我注意到:资源转换器导出一个函数,资源rest导出一个类。结果是转换器被捆绑,但浏览器会像这样抱怨rest:找不到ID为util/rest.html的模块。也许它按照惯例,需要视图/视图模式
L这是我需要了解全局资源的另一个问题。@Benny尝试向您的rest.js类添加@noView decorator。宾果!还有很多东西要学,但我很喜欢奥雷利亚。非常感谢@pQuestions123:-
config.globalResources(
   PLATFORM.moduleName('./resource1'),
   PLATFORM.moduleName('./resource2')
);