我一直在尝试使用Bitsrc在多个应用程序中共享前端组件。我能够创建组件并将它们导出到 bitsrc,但是当尝试导入它们并使用它们时,我遇到了错误。
au new
我已经使用 Typescript 和 RequireJS设置了一个新的 aurelia 应用程序。然后,我创建了一个仅由纯 HTML 组成的简单组件。
- src
| - components
| - rocketship
| - rocketship.ts
| - rocketship.html
| - index.ts
使用bit build
typescript 编译器 ( @0.0.5
) 构建此组件时,index.js.map
编译为以下内容:
{"version":3,"file":"module.js","sourceRoot":"","sources":["module.tsx"],"names":[],"mappings":";;AAAA,2CAAsC;AAA7B,kCAAA,SAAO,EAAA"}
这引用了一个module.js
未在任何地方定义的文件,这让我相信这是我遇到的问题的原因。
当我通过 NPM 安装组件时,将其添加为aurelia.json
:
{
"name": "@bit/user.workspace.components.rocketship",
"path": "../node_modules/@bit/user.workspace.components.rocketship/dist",
"main": "index"
}
并使用运行应用程序au run -w
,我收到错误:
Error: An error occurred while trying to read the map file at C:\Git\Aurelia test application\node_modules\@bit\user.workspace.components.rocketship\dist\module.js.map
Error: ENOENT: no such file or directory, open 'C:\Git\Aurelia test application\node_modules\@bit\user.workspace.components.rocketship\dist\module.js.map'
at readFromFileMap (C:\Git\Aurelia test application\node_modules\aurelia-cli\lib\build\convert-source-map\index.js:32:11)
at new Converter (C:\Git\Aurelia test application\node_modules\aurelia-cli\lib\build\convert-source-map\index.js:39:32)
at Object.exports.fromMapFileComment (C:\Git\Aurelia test application\node_modules\aurelia-cli\lib\build\convert-source-map\index.js:112:10)
at Object.exports.fromMapFileSource (C:\Git\Aurelia test application\node_modules\aurelia-cli\lib\build\convert-source-map\index.js:131:22)
at acquireSourceMapForDependency (C:\Git\Aurelia test application\node_modules\aurelia-cli\lib\build\bundle.js:184:33)
at work.then (C:\Git\Aurelia test application\node_modules\aurelia-cli\lib\build\bundle.js:206:25)
at <anonymous>
因此,Aurelia CLI 正在尝试读取module.js.map
组件文件夹中不存在的文件。Typescript 转译器有问题吗?还是 Aurelia 无法处理转译组件的结果?
我正在使用的转译器是
bit.envs/compilers/typescript@0.0.5