我使用以下方法将第三方库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
的见解?
答案 0 :(得分:1)
此程序包具有依赖项,该依赖项本身具有依赖项。
将以下内容添加到dependencies
文件中vendor-bundle
配置的aurelia.json
部分,您就可以了:
"performance-now",
"raf",
"scroll-into-view"