使用相对导入路径时 Aurelia 捆绑失败

2024-04-04

我将 aurelia 与 typescript 一起使用,我想避免使用相对导入路径,例如:

import { DialogBox } from '../../resources/elements/dialog-box';

反而

import { DialogBox } from 'resources/elements/dialog-box';

我修改了 tsconfig.json,以便编译器通过添加来处理相对路径baseUrl and paths像这样:

"compilerOptions": {
"sourceMap": true,
"target": "es5",
"module": "amd",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"lib": ["es2015", "dom"],
"baseUrl": ".",
"paths": {
  "*":["src/*"]
}

}...

但是当我运行 cli 的命令“au run --watch”时,我可以看到所有步骤都运行良好,直到写包跟踪某些文件时失败的步骤:

Starting 'processMarkup'...
Starting 'processCSS'...
Starting 'configureEnvironment'...
Finished 'configureEnvironment'
Starting 'buildTypeScript'...
Finished 'processCSS'
Finished 'processMarkup'
Finished 'buildTypeScript'
Starting 'writeBundles'...

该过程失败并出现以下错误:

Tracing resources/elements/dialog-box...
{ uid: 11,
  name: 'writeBundles',
  branch: false,
  error:
   { [Error: ENOENT: no such file or directory, open 'C:\...\src\resources\elements\dialog-box.js']
     errno: -4058,

奇怪的是:还有其他文件是通过非相对路径引用的,并且捆绑器不会失败。

另一个奇怪的事情是:如果我使用观察器保留相对路径和捆绑,一切正常。那么如果我删除亲戚'../../'从有问题的导入中,我收到捆绑警告,但无论如何一切正常......

知道我可能做错了什么吗?

编辑更正:

我只是明白为什么有些文件似乎是捆绑的,而另一些则不是。我注意到所有未失败的具有“根相对”导入的文件实际上都是从具有相对路径的其他文件导入的。所以我想捆绑者会从那里找到它们。这解决了一件事,但基本问题仍然存在:当存在“根相对”导入时,aurelia-cli 捆绑失败......

编辑解决方案:感谢下面 Sinan Bolel 的解决方案,通过更新一些软件包解决了相对路径问题:

npm i -D gulp-typescript@^3.1.5 typings@^2.1.0 aurelia-tools@^1.0.0

我后来得到的语义错误来自于一些仍然安装但不需要的类型,以及将 typescript 安装为本地 npm 包以及全局。 我卸载了它们,所有错误都消失了。

npm uninstall @types/es6-promise
npm uninstall @types/es6-collections
npm uninstall typescript

看看这个要点示例 https://gist.github.com/sbolel/05c36b5a88c9b6322f01e6f9bd111cf2其中:

  • 我创建一个类Init in src/lib/init.ts
  • I import init from 'lib/init' in src/main.ts没有相对路径
  • 我改变main.ts to import environment from 'environment'相对于from './environment'——这也有效。


使用原来的tsconfig由 CLI 生成 https://github.com/aurelia/cli/blob/master/lib/resources/content/tsconfig.json,我的构建失败并出现错误:

src/main.ts(3,18): error TS2307: Cannot find module 'lib/init'.

更改为之后tsconfig在我的要点中 https://gist.github.com/sbolel/05c36b5a88c9b6322f01e6f9bd111cf2#file-tsconfig-json,构建成功。

(无效)建议:

在 tsconfig 中,您可以尝试:

a) 添加./在之前src in compilerOptions.paths(这解决了我机器上的问题)

  paths: {"*": ["./src/*"]}
                 ^

b) 添加filesGlob

"filesGlob": [
  "./src/**/*.ts",
  "./test/**/*.ts",
  "./typings/index.d.ts",
  "./custom_typings/**/*.d.ts"
],

edit:以前的建议不起作用,更新包怎么样:

npm i -D gulp-typescript@^3.1.5 typings@^2.1.0 aurelia-tools@^1.0.0

查看结果https://github.com/aurelia/cli/issues/494#issuecomment-282103289 https://github.com/aurelia/cli/issues/494#issuecomment-282103289

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用相对导入路径时 Aurelia 捆绑失败 的相关文章

  • OSGi:两个不同的捆绑包中具有相同的包路径

    I got a bundle1具有以下软件包 com anderson servlet osgi exported com anderson servlet com anderson util exported 还有第二个 bundle2
  • 使用 Gnome 启动器的相对路径

    我们正在开发一个需要在可移动设备 例如 USB 记忆棒 上运行的应用程序 在 Linux 上 我们使用 Gnome 启动器将应用程序的快捷方式放置在设备的根目录上 但是 我们需要对可执行文件和图标使用相对路径 因为我们事先不知道设备将安装在
  • Mac OSX 捆绑包的图标

    我编译了一个名为 MyBundle bundle 的 Mac OSX 捆绑包 它用作另一个应用程序的插件 我希望捆绑包有一个独特的图标 因此我将 Info plist 文件设置为
  • Symfony2:--重新安装问题

    我一直在尝试为 Symfony2 安装 Buzz 我将其添加到 deps 文件中 并尝试更新我的供应商 php bin vendors update 该命令只是告诉我我已经安装了标准版本 并且我应该尝试使用 php bin vendors
  • 在设计时获取文件的相对路径

    我正在构建一个 Windows Phone 8 应用程序 在设计时 我加载示例 XML 文件来获取示例数据 它运行良好 但我想使用相对于解决方案根目录的文件路径 以便它可以适用于具有相同代码的所有开发人员 这是我当前的代码 var path
  • Aurelia 验证 - 验证失败时不显示任何消息

    我一直在研究 Aurelia Validation 示例 并且有以下内容 索引 html
  • 在 SPSS 18 中指定相对路径

    在 SPSS 11 中可以指定相对路径 例子 FILE HANDLE myfile data current txt LRECL 533 DATA LIST FILE myfile 这之所以有效 是因为 SPSS 11 将工作文件夹设置为源
  • 使用选项卡式活动中的捆绑包将值从活动传递到片段

    我是一个java文盲 但仍在尝试开发一个供我个人使用的应用程序 我从 android studio 的 Tabbed Activity 开始 除了 MainActivity 中的一个片段和一个包之外 大部分没有改变 这是我的代码 主要活动
  • 有没有办法跨应用程序使用 ASP.NET Bundles

    我使用 ASP NET Web Optimization 包来捆绑和缩小 javascript css 文件 我有一些使用相同 javascript css 文件的 ASP NET 应用程序 现在我在每个应用程序中设置捆绑包 我想知道是否有
  • 从 Handler.obtainMessage() 获取什么参数

    我正在使用线程来执行一些 BT 任务 我正在尝试向 UI 线程发送消息 以便我可以基于我的 BT 线程执行 UI 工作 为此 我使用处理程序 但我不知道如何检索发送到处理程序的数据 要发送数据 我使用 handler obtainMessa
  • Textmate“注释”命令对于 css 代码无法正常工作

    当我在 TextMate 中切换 CSS 源代码的注释时遇到一些问题 Using the shortcut CMD I activate the Comment Line Selection command from the source
  • Aurelia HttpClient 取消请求

    我正在尝试构建一个自动完成组件 并希望使其在键入时取消对服务器的未解析请求 我在 HttpClient 的文档中找不到与此相关的文档 它提到它是可以取消的 与获取不同 但没有提到如何取消 https aurelia io docs plug
  • 两种方式绑定在使用 aurelia 的 bootstrap-select 上不起作用

    我已成功创建一个自定义元素来使用 boostrap select 元素 但是 我可以从主视图 父视图 向其传递 绑定值 但当我使用双向绑定时 我无法从元素中获取选择 我的自定义元素是 import inject customElement
  • Aurelia 验证不适用于对象属性

    我无法让 Aurelia Validate 处理我的日历记录中的字段 日历 html 摘抄
  • Bootstrap 4 Beta 使用 Webpack 3.x 导入 Popper.js 会抛出 Popper 不是构造函数

    So Bootstrap 4 Beta出来了 耶 然而 Tether 已被取代Popper js用于工具提示 和其他功能 我看到控制台中抛出一个错误 速度足够快 足以建议我进行更改Popper js Bootstrap dropdown r
  • 如何使用 sys.path.append 在 Python 中导入文件?

    我的桌面上有两个目录 DIR1 and DIR2其中包含以下文件 DIR1 file1 py DIR2 file2 py myfile txt 这些文件包含以下内容 file1 py import sys sys path append s
  • 当前 PHP 脚本相对于文档根目录的路径

    TL DR 当尝试在 PHP 包含的页面上使用相对链接时 有什么替代本页面上最后一个代码示例的方法include命令 我试图include 链接到的文件 css文档 问题是我需要包含来自多个 不同 目录的该文件 我的目录结构看起来有点像这样
  • 提交的代码签名应用程序无效

    我尝试向应用程序商店提交应用程序 但收到以下错误 我见过类似的问题 并提出了 2 个不同的解决方案 但都没有解决问题 无效的代码签名权利 您的应用程序包的签名包含不受支持的权利值 具体来说 不支持密钥 com apple developer
  • 在 Aurelia 视图中使用文字 JavaScript 值

    我试图通过使用 if 模板控制器使我的组件可隐藏 问题是即使我在其中输入 false 它也是可见的
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0

随机推荐

  • React Native,更改 React Navigation 标题样式

    我正在实施反应导航 https reactnavigation org在我的 React Native 应用程序中 我想更改标题的背景和前景色 我有以下内容 Sample React Native App https github com
  • 终结者:如何在拆分窗格中打开选项卡

    每当我尝试创建新选项卡时 它总是在窗口级别打开 我想要实现的是在我正在使用的当前活动拆分窗格中打开一个选项卡 可以这样做吗 我在过去的三四年里一直在使用终结者 但我还没有看到你所要求的可能 话虽这么说 您可以在此处提交功能请求 https
  • Magento - 公共产品页面中的 404 错误

    我有一个 Magento 1 7 网页宽度 2 个不同语言的商店 每个商店的宽度不同 当我为第二个商店启用产品时 第二个商店的公共产品页面停止运行 现在出现了 404 错误 但第一家商店的产品页面仍然表现良好 所有其他页面均正常工作 htt
  • 无法从命令行运行 swing

    我使用Windows中的命令行来编译然后执行我的java程序 我去了http java sun com docs books tutorial uiswing start compile html http java sun com doc
  • 对所有当前播放的视频执行一个 AVPlayer 的 AVPlayerItemDidPlayToEndTime 操作

    问题 在有播放器的集合视图单元格中 如果我同时播放两个视频并寻找第一个视频结束然后AVPlayerItemDidPlayToEndTime发射了两次并且两个视频都重新启动 在集合视图单元格中我有 override func awakeFro
  • SQL 到 outfile - 文件存储在哪里? (MySQL、Windows)

    我正在使用 MySQL 并希望将以下查询的结果存储在我的计算机本地的 csv 文件中 SELECT INTO OUTFILE mysqlresults csv FIELDS TERMINATED BY OPTIONALLY ENCLOSED
  • 当给定这个模式与整数值匹配时,为什么 scala 会抱怨?

    Goal 编写一个函数 生成一个排除指定字符 由索引标识 的新字符串 Example takeAllExcept 0 abc 回报bc takeAllExcept 1 abc 回报ac takeAllExcept 2 abc 回报ab 我最
  • Visual Studio 2010 - 推荐的扩展[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 启动时加载 FastAPI 项目中的模型

    所以我目前正在开发一个为多种 NLP 服务提供服务的 FastAPI 项目 为此 我想提供来自 spacy 和 Huggingface 的不同模型 自从那些模型相当大的推理时间为每个发布请求加载模型相当长 我的想法是在 FastAPI 启动
  • 如何更改handleError?

    我有 jquery 脚本 它应该向我的文件发送响应 如果一切顺利 我会成功 但如果错误 我应该得到错误函数 但我得到jQuery handleError is not a function jQuery handleError s xml
  • 为 Python 3 安装 ipdb? [复制]

    这个问题在这里已经有答案了 我安装了ipdb https pypi python org pypi ipdb using pip 但我仍然得到 ImportError No module named ipdb 我还需要做其他事情才能引入这个
  • module.exports 返回未定义

    我目前是新来的Node JS 今天我试图read文件中的数据data json 这是 JSON 文件 username rahul v7 password 9673 username 7vik password 3248 username
  • phpmyadmin - Mysql 没有权限

    我在 Windows 7 上安装了 wamp 2 1 但是 当我打开 phpMyAdmin 时 出现错误 Mysql No Provileges 我卸载了wamp并重新安装了几次 但没有帮助 有谁知道如何解决这个问题 另外 当我尝试从 my
  • 使用 JavaScript 打开和关闭 CKEditor 4 内联编辑

    我需要能够使用按钮打开 关闭内联编辑 请参阅此处的内联编辑示例 http nightly v4 ckeditor com 3559 samples inlineall html http nightly v4 ckeditor com 35
  • 在 C 系列中,在循环中为什么“小于或等于”比“小于”符号更受青睐? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 为什么在 C 系列语言中 当我们对任何循环使用计数器时 最优选的比较是Greater Equal To lt 或者它的倒数 请看一下这三段代码
  • 使用 css 绘制图像内的曲线

    是否可能以及如何在图像顶部和底部内制作一条曲线 请参见图像 我怎样才能用CSS实现这一点 将您的图像设置为 div 上的背景图像并使用此技术 我在示例中使用了纯红色 这里我使用伪元素来创建顶部和底部的曲线 请注意 顶部和底部偏移量是每个伪元
  • Mockito:验证来自内部匿名类的方法调用

    我有一个正在测试的类 其中包含一个具有内部匿名类的方法 匿名类中的方法之一调用被测类中的方法 但 Mockito 似乎没有意识到这一点 public class ClassUnderTest Dependency dependency pu
  • C# 中的 SplitContainer 拆分器?

    i am using a split container For some reason the splitter looks like this 很难看到 就是两条黑线中间那条微弱的两条线 我该如何解决这个问题并在两条线之间添加填充 我使
  • Log4Net 可用于 adoappender 的数据库字段 - 似乎还有更多,即 method_name?

    我最近创建了简单的 log4net 数据库表 用于通过 adonet 附加程序进行日志记录 并且它有效 但后来我注意到另一个网站使用额外的字段 看 哇 我很想知道在哪里可以获得可用字段名称的列表 例如 Method name 真的让我思考
  • 使用相对导入路径时 Aurelia 捆绑失败

    我将 aurelia 与 typescript 一起使用 我想避免使用相对导入路径 例如 import DialogBox from resources elements dialog box 反而 import DialogBox fro