ember模板中的图像地址grunt build

Cer*_*ler 6 build-process ember.js gruntjs yeoman

我使用Yeoman在EmberJS中创建了一个Web应用程序.一切正常,但在使用grunt build命令后,如果我在浏览器中查看构建的应用程序(来自dist目录),我可以看到一些图像丢失,因为src路径错误.

Grunt正在更改"image"文件夹中所有图像的名称,但不会更新HTML中的路径.它仅在css文件中更新路径; .hbs模板文件中的图像仍然具有旧路径(使用旧图像名称)...

有人知道怎么修这个东西吗?

Cer*_*ler 5

最后我摆脱了这个:

所需要的就是编辑项目根目录中的Gruntfile.js; rev任务是管理图像重命名的任务; 通常它是这样的:

rev: {
        dist: {
            files: {
                src: [
                    '<%= yeoman.dist %>/scripts/{,*/}*.js',
                    '<%= yeoman.dist %>/styles/{,*/}*.css',
                    '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp}',
                    '<%= yeoman.dist %>/styles/fonts/*'
                ]
            }
        }
    },
Run Code Online (Sandbox Code Playgroud)

您只需要删除告诉他处理images文件夹的行:

rev: {
        dist: {
            files: {
                src: [
                    '<%= yeoman.dist %>/scripts/{,*/}*.js',
                    '<%= yeoman.dist %>/styles/{,*/}*.css',
                    '<%= yeoman.dist %>/styles/fonts/*'
                ]
            }
        }
    },
Run Code Online (Sandbox Code Playgroud)

它完成了; 所有图像都将保留其原始名称,因此不会在css,html或hbs文件中更新路径...请注意,rev任务仅负责文件重命名,而不是压缩(对于图像由imagemin任务完成)因此,无论如何都会压缩图像......

  • 我看到同样的事情,但这并没有解决根本问题.我有我的AngularJS应用程序的视图,我指定了图像,我希望rev任务将重命名dist目录的应用程序版本中的路径.有谁知道如何让rev任务与模板/视图一起使用? (4认同)