Aurelia CLI命令的错误&au;运行 - 观察'导入第三方库时

时间:2017-03-07 18:51:48

标签: aurelia aurelia-cli

我使用以下方法将第三方库https://www.npmjs.com/package/scroll-into-view安装到我的Aurelia CLI项目中:

npm install --save scroll-into-view

我已将以下内容添加到aurelia.json中的依赖项数组:

{
    "name": "scroll-into-view",
    "path": "../node_modules/scroll-into-view",
    "main": "scrollIntoView"
}

我已将以下内容添加到我想要使用该库的组件中:

import * as scrollIntoView from "scroll-into-view";

当我执行au run --watch时,我收到一长串错误,重复以下版本:

Error: ENOENT: no such file or directory, open 'C:\src\choiceswizard\src\node_modules\raf.js'
    at Object.fs.openSync (fs.js:558:18)
    at Object.fs.readFileSync (fs.js:468:33)
    at Object.exports.readFileSync (C:\src\choiceswizard\node_modules\aurelia-cli\lib\file-system.js:49:13)
    at fileRead (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\bundled-source.js:83:31)
    at Object.context.fileRead (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\amodro-trace\lib\loader\Loader.js:176:18)
    at Object.context.load (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\amodro-trace\lib\loader\Loader.js:357:30)
    at Module.load (eval at <anonymous> (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\amodro-trace\lib\loader\Loader.js:14:1), <anonymous>:832:29)
    at Module.fetch (eval at <anonymous> (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\amodro-trace\lib\loader\Loader.js:14:1), <anonymous>:822:66)
    at Module.check (eval at <anonymous> (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\amodro-trace\lib\loader\Loader.js:14:1), <anonymous>:854:30)
    at Module.enable (eval at <anonymous> (C:\src\choiceswizard\node_modules\aurelia-cli\lib\build\amodro-trace\lib\loader\Loader.js:14:1), <anonymous>:1173:22)
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\src\\choiceswizard\\src\\node_modules\\raf.js',
  moduleTree: [ 'scroll-into-view/scrollIntoView' ],
  fileName: 'C:/src/choiceswizard/node_modules/scroll-into-view/scrollIntoView.js'

这告诉我scroll-into-view依赖于raf https://www.npmjs.com/package/raf,而raf有自己的依赖关系,可能是这样。

请注意,正在C:\src\choiceswizard\src\node_modules\文件夹的根目录中查找依赖项,而不是在单个模块文件夹中查找依赖项,例如C:\src\choiceswizard\src\node_modules\raf

此外,经过进一步的实验,我发现raf使用index.js作为其入口点,因此假设raf.js是文件的名称是不正确的。

在我看来,Aurelia CLI似乎没有解析层次结构中每个依赖项的package.json并相应地加载它们。我也可能会误解这个问题。

有没有人有任何可以帮助我在项目中使用scroll-into-view的见解?

1 个答案:

答案 0 :(得分:1)

此程序包具有依赖项,该依赖项本身具有依赖项。

将以下内容添加到dependencies文件中vendor-bundle配置的aurelia.json部分,您就可以了:

"performance-now",
"raf",
"scroll-into-view"