每当我使用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/