Gulp Aurelia Bundler无法获取Aurelia-router.js
所以我正在完成我的第一个aurelia bundler吞咽任务。我一直在关注这篇文章,只是我将我的文件声明为gulpfile.js,而不是bundler.js,这似乎是在他的解决方案中设置的(我怀疑这是否重要)。无论如何,当我运行gulp bundle时,会出现以下错误:Gulp Aurelia Bundler无法获取Aurelia-router.js,gulp,aurelia,Gulp,Aurelia,所以我正在完成我的第一个aurelia bundler吞咽任务。我一直在关注这篇文章,只是我将我的文件声明为gulpfile.js,而不是bundler.js,这似乎是在他的解决方案中设置的(我怀疑这是否重要)。无论如何,当我运行gulp bundle时,会出现以下错误: C:\dev\Movies\src\Movies>gulp bundle [21:13:34] Using gulpfile C:\dev\Movies\src\Movies\gulpfile.js [21:13:34]
C:\dev\Movies\src\Movies>gulp bundle
[21:13:34] Using gulpfile C:\dev\Movies\src\Movies\gulpfile.js
[21:13:34] Starting 'bundle'...
[21:13:36] 'bundle' errored after 1.68 s
[21:13:36] Error on fetch for aurelia-router.js at file:///C:/dev/Movies/src/Movies/wwwroot/aurelia-router.js
Loading movies/edit.js
Error: ENOENT: no such file or directory, open 'C:\dev\Movies\src\Movies
\wwwroot\aurelia-router.js'
at Error (native)
我不知道为什么会在那个位置出现这种情况,因为这些库都在jspm_packages文件夹下。我的gulp文件设置如下:
var gulp = require('gulp');
var bundler = require('aurelia-bundler');
var config = {
force: true,
packagePath: '.',
bundles: {
"wwwroot/appbundle":{
includes:[
'app', 'main', 'about/**', 'movies/**', 'resources/**',
'aurelia-bootstrapper',
'aurelia-framework',
'aurelia-router',
'aurelia-http-client',
'aurelia-validation'
],
options:{
inject: true
}
}
}
};
gulp.task('bundle', function () {
return bundler.bundle(config);
});
gulp.task('unbundle', function () {
return bundler.unbundle(config);
});
有没有想过为什么会发生这种情况,我甚至从配置中删除了所有的aurelia库,但我仍然得到了aurelia-router.js错误 显然,config.js文件缺少aurelia路由器的别名。添加下面的别名可以根据需要完成bundler gulp任务:
"aurelia-router": "github:aurelia/router@0.14.1",
我也发现了类似的东西。这可能是因为,最初,您的应用程序将路由器作为其他模块之一的依赖项包含,而不是显式添加到应用程序中。因此,bundler没有将其视为可以包含的顶级模块。然而,如果您要运行“jspm安装aurelia路由器”,那么这将添加它(类似于手动将其放入配置中),并且它可能会工作。我认为…对于其他阅读本文的人来说,这意味着您的路由器(或其他具有类似问题的依赖项)没有正确地添加到JSPM依赖项部分。如果当前使用的JSPM版本高于10.16.19,则会遇到依赖项未正确映射到config.js的问题。要注意的事情。