【问题标题】:Grunt Uglify source map "unable to write"Grunt Uglify 源地图“无法写入”
【发布时间】:2014-04-29 12:04:56
【问题描述】:

我正在使用 Grunt 来合并和缩小文件(使用 grunt-contrib-uglify 和 grunt-contrib-concat )并且我想添加一个源映射。 uglify 文档说只需为 sourceMap 添加一个选项,设置为 true 布尔值。但是当我将它添加到我的任务中(我尝试了几个不同的任务)时,进程运行良好,直到它到达源映射部分,然后我得到:

写的是真的...错误

警告:无法写入“真实”文件(错误代码:未定义)。使用 --force 继续。

连接完成,缩小完成。但是...源图不走运。

来自我的 Grunt 文件的示例:

uglify: {
  options: {
    banner: '/*! <%= pkg.name %> <%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
  },
  publicjs: {
    options: {
        sourceMap: true
    },
    files: {
      'js/<%= pkg.name %>_public.min.js': ['<%= concat.publicjs.dest %>']
    }
  }
}

(我也尝试过在我的顶级选项对象中使用 sourceMap。)

有什么想法吗?显然 Grunt 可以写入目录,因为它创建了连接和缩小的文件,我想不出还有什么问题。

【问题讨论】:

    标签: gruntjs grunt-contrib-uglify


    【解决方案1】:

    https://github.com/gruntjs/grunt-contrib-uglify

    “从 2.x 迁移到 3.x”部分提到了这一点:

    sourceMap - 只接受一个布尔值。生成一个地图 你的默认名字

    所以看起来您使用的是旧版本和新版本的配置选项。

    • 您可以升级。
    • 或者使用旧版本的配置选项。 (我认为你应该将目标文件名分配给这个变量而不是 true。但我没有在旧版本的文档中验证。)

    【讨论】:

    • 哦,呵呵。我运行了 npm update,但是(我是 node 新手)并没有意识到它不仅仅是更新到最新版本(我想我需要更好地查找如何在 package.json 中定义它)。谢谢。
    • 示例代码对SourceMap 使用布尔值,那么解决方法是什么?
    • OP 的(旧)版本需要配置变量 sourceMap 中的文件名,而不是布尔值。新版本需要布尔值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2018-11-27
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多