Yeoman grunt build 不会抛出任何 warning/error 但生成的 dist 不起作用

Yeoman grunt build does not throw any warning/error but the resulting dist is not working

在 angular 应用程序中,我执行 grunt buildgrunt serve:dist 来构建我的生产文件并将它们部署到远程服务器上。一切看起来都很好,我在 yeoman 日志中看不到任何警告消息。 yo doctor也很开心("Everything looks all right!").

问题是,每当我进入 dist/index.html 时,我都会从控制台收到以下消息:

Failed to load resource: the server responded with a status of 404 (Not Found). http://localhost:9000/components/portal/portal.html

Error: [$compile:tpload] Failed to load template: components/portal/portal.html

portal.html 是第一个在应用程序中显示的模板 当它未缩小时 。我很惊讶该应用程序试图在 components/ 中获取资源,因为所有 html 现在应该在 dist/index.html 中,对吗?

我正在使用 Yeoman 版本 1.4.6 和来自 angular 生成器的默认 GruntFile.js。更具体地说,build任务定义如下:

grunt.registerTask('build', [
    'clean:dist',
    'wiredep',
    'useminPrepare',
    'concurrent:dist',
    'autoprefixer',
    'concat',
    'ngAnnotate',
    'copy:dist',
    'cdnify',
    'cssmin',
    'uglify',
    'filerev',
    'usemin',
    'htmlmin'
  ]);

我的问题可能是什么原因造成的?欢迎索取更多信息。

Gruntfile.js 他们说

// for performance reasons we're only matching one level down:
// 'test/spec/{,*/}*.js'
// use this if you want to recursively match all subfolders:
// 'test/spec/**/*.js'

所以问题是我项目的一部分位于根目录下不止一层。在涉及的任务中将 {,*/}* 更改为 **/* 解决了该问题。