grunt替换上的目标未定义错误

时间:2016-06-01 23:44:17

标签: javascript replace npm gruntjs

我正在尝试使用grunt replace来更改文件名,并在文件中添加一个随机数,以防止缓存图像,css和js文件。

所以我正在运行以下代码



@RequestBody Map<String, Object> payload
&#13;
&#13;
&#13;

但我得到的只是一个&#34;目的地未定义

任何人都可以对此有所了解吗?

由于

1 个答案:

答案 0 :(得分:1)

我不完全确定您的代码想要实现的目标,但我会根据我的理解继续回答。

首先,您是否尝试使用grunt-replace库?如果是这样,我认为这是不正确的。此库用于替换源文件内容中的值文件路径本身。

在我看来,您要做的是将源index.html文件复制到其中包含唯一标识符的文件路径。您可能正在尝试将其包装在自定义任务中,但这样做不是必需的。

以下是我将如何实现此任务的示例Gruntfile.js。请注意,此解决方案需要安装grunt-contrib-cleangrunt-contrib-copy库。

module.exports = function (grunt) {

    grunt.initConfig({
        clean: {
            dist: ['./target/dist/index.*.html']
        },

        copy: {
            dist: {
                src: './target/src/index.html',
                dest: './target/dist/index.<%= Date.now() %>.html'       
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-copy');

    grunt.registerTask('default', ['clean', 'copy']);

};

这个解决方案有一些值得指出的地方:

  • / dist文件夹中的index.html文件不是,因为它不是 打算分发,但更确切地说是来源。
  • 在创建索引。*。html的新版本之前,我们将删除任何 / dist文件夹中的现有版本,以便我们没有 每个版本的积累。
  • 而不是使用&#34;随机&#34;对于我们的版本,我们将使用一个 时间戳。这很有用,因为每个版本都会有更大的版本 比之前的数字还要多。