javascript - 尝试构建 ember js 项目时出错

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

每当我使用outputPath=dist和environment=product构建我的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');

错误变为

Build failed. Invalid mapping: {"generated":{"line":74174,"column":-50},"source":"bower_components/jquery-file-upload/js/vendor/jquery .ui.widget.js","original":{"line":1,"column":0},"name":null} Error: Invalid mapping: {"generated":{"line":74174,"column":-50},"source":"bower_components/jquery-file-upload/js/vendor /jquery.ui.widget.js","original":{"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)

*********根据评论建议更新整个 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();

最佳答案

将以下内容添加到您的 broc 文件中:

sourcemaps: {
  enabled: !isProduction
}

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

关于javascript - 尝试构建 ember js 项目时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29028939/

相关文章:

javascript - 关闭操作的 Ember 集成测试

javascript - Ember 数据未获取关系

javascript - 在 CSS 中显示和隐藏 div 元素并更改不透明度

javascript - AngularJS 和 Edmunds Media API 用于提取车辆图像

angularjs - Node.JS - 发布上传文件而不保存

javascript - 使用 Node.js Express 更新加载的值

javascript - 创建自定义列表项 HTML,带间距的行

javascript - 如何在没有 JSX 的情况下在 React.js 中呈现 html 实体

javascript - JavaScript 中的 const 和 const {} 有什么区别

javascript - 选择 MVC 框架(Javascript - 前端)- Backbone、Angular、Ember