【问题标题】:Error while trying to build ember js project尝试构建 ember js 项目时出错
【发布时间】:2015-03-13 09:37:17
【问题描述】:

每当我使用 outputPath=dist 和 environment=production 构建我的 ember 项目时,它都可以正常构建,但是当我使用 outputPath=dist-something 和 environment=hosted-something 构建时,我会收到以下错误:

Build failed.
Invalid mapping: {"generated":{"line":74176,"column":-50},**"source":"bower_components/moment/min/moment.min.js"**,"original
":{"line":1,"column":0},"name":null}
Error: Invalid mapping: {"generated":{"line":74176,"column":-50},"source":"bower_components/moment/min/moment.min.js","o
riginal":{"line":1,"column":0},"name":null}
    at SourceMapGenerator_validateMapping [as _validateMapping] (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEm
ber\node_modules\ember-cli-uglify\node_modules\broccoli-uglify-sourcemap\node_modules\uglify-js\node_modules\source-map\
lib\source-map\source-map-generator.js:272:15)
    at SourceMapGenerator_addMapping [as addMapping] (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_mo
dules\ember-cli-uglify\node_modules\broccoli-uglify-sourcemap\node_modules\uglify-js\node_modules\source-map\lib\source-
map\source-map-generator.js:102:12)
    at C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_modules\ember-cli-uglify\node_modules\broccoli-ug
lify-sourcemap\node_modules\uglify-js\node_modules\source-map\lib\source-map\source-map-generator.js:74:19
    at Array.forEach (native)
    at SourceMapConsumer_eachMapping [as eachMapping] (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_m
odules\ember-cli-uglify\node_modules\broccoli-uglify-sourcemap\node_modules\uglify-js\node_modules\source-map\lib\source
-map\source-map-consumer.js:473:10)
    at Function.SourceMapGenerator_fromSourceMap [as fromSourceMap] (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLate
stEmber\node_modules\ember-cli-uglify\node_modules\broccoli-uglify-sourcemap\node_modules\uglify-js\node_modules\source-
map\lib\source-map\source-map-generator.js:50:26)
    at Context.SourceMap (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_modules\ember-cli-uglify\node_
modules\broccoli-uglify-sourcemap\node_modules\uglify-js\lib\sourcemap.js:59:52)
    at Object.exports.minify (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_modules\ember-cli-uglify\n
ode_modules\broccoli-uglify-sourcemap\node_modules\uglify-js\tools\node.js:112:38)
    at UglifyWriter.processFile (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_modules\ember-cli-uglif
y\node_modules\broccoli-uglify-sourcemap\index.js:98:25)
    at C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEmber\node_modules\ember-cli-uglify\node_modules\broccoli-ug
lify-sourcemap\index.js:46:14

如果有人能告诉我可能是什么原因以及解决方案,那就太好了

uglifyJs 解析 brocfile.js 时出现错误。由于目前在 brcofile.js 我使用以下几行

app.import('bower_components/moment/min/moment.min.js');
app.import('bower_components/jquery-file-upload/js/vendor/jquery.ui.widget.js');
app.import('bower_components/jquery-file-upload/js/jquery.iframe-transport.js');
app.import('bower_components/jquery-file-upload/js/jquery.fileupload.js');

但是,当我使用以下命令时,

app.import('bower_components/jquery-file-upload/js/vendor/jquery.ui.widget.js');
app.import('bower_components/jquery-file-upload/js/jquery.iframe-transport.js');
app.import('bower_components/jquery-file-upload/js/jquery.fileupload.js');
app.import('bower_components/moment/min/moment.min.js');

错误变成了

构建失败。无效的映射: {"生成":{"line":74174,"column":-50},"source":"bower_components/jquery-file-upload/js/vendor/jquery .ui.widget.js","original":{"line":1,"column":0},"name":null} 错误: 无效的映射: {"generated":{"line":74174,"column":-50},"source":"bower_components/jquery-file-upload/js/vendor /jquery.ui.widget.js","original":{"line":1,"column":0},"name":null} 在 SourceMapGenerator_validateMapping [as _validateMapping] (C:\wamp\www\PublicMD\EmberMD\Ta\trunk\TextAdminLatestEm ber\node_modules\ember-cli-uglify\node_modules\broccoli-uglify-sourcemap\node_modules\uglify-js\node_modules\source-map\ lib\source-map\source-map-generator.js:272:15)

*********根据评论建议更新整个borcfile******

var EmberApp = require('ember-cli/lib/broccoli/ember-app');


var isProduction = ['production', 'hosted-something'].indexOf(process.env.EMBER_ENV) > -1;

var app = new EmberApp({

    fingerprint: {
        enabled: false
    },

    hinting: !isProduction,

    minifyCSS: {
        enabled: isProduction
    },

    minifyJS: {
        enabled: isProduction
    },

    storeConfigInMeta: false,

    tests: !isProduction,

    vendorFiles: {        
        'jquery.js': 'bower_components/jquery/dist/jquery.js',

        'handlebars.js': null,

        'ember.js': {
            'hosted-something':  'bower_components/ember/ember.prod.js'
        },

    },

    wrapInEval: !isProduction
});

if (app.env !== 'hosted-something') {
    app.import('bower_components/bootstrap-go/index.css');
    app.import('bower_components/bootstrap-go-responsive/index.css');
}

app.import('bower_components/moment/min/moment.min.js');
app.import('bower_components/jquery-file-upload/js/vendor/jquery.ui.widget.js');
app.import('bower_components/jquery-file-upload/js/jquery.iframe-transport.js');
app.import('bower_components/jquery-file-upload/js/jquery.fileupload.js');

module.exports = app.toTree();

【问题讨论】:

  • 大声笑认真???顺便说一句,这开始突然发生,没有任何改变 node_modules 或任何东西!
  • 考虑在 ember-cli 跟踪器上询问这个问题:github.com/ember-cli/ember-cli/issues 维护人员真的很有帮助,这看起来确实像一个错误
  • 你在使用ember-cli-jquery-ui吗?
  • 您能否发布您的整个Brocfile.js,以便我们了解您还在为您的构建做些什么?我遇到了同样的问题并找到了解决方法,但想确保您的问题根源与我的相同。
  • @iwayneo 非常感谢:)

标签: javascript node.js ember.js ember-cli build-error


【解决方案1】:

将以下内容添加到您的 brocfile:

sourcemaps: {
  enabled: !isProduction
}

您遇到的错误是由于在您运行“生产”构建时构建尝试生成源映射。

【讨论】:

  • 真棒老板非常感谢:)我从来没有意识到源地图不存在:)
  • 没问题,很高兴我能帮上忙 :)
猜你喜欢
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 2022-01-21
  • 2012-12-09
  • 2016-09-02
相关资源
最近更新 更多