Javascript 如何将源地图从Babel transpiling保存到r.js uglifying?
我正在编写ES6 JavaScript模块,并使用Babel将它们传输到ES5。Babel生成指向原始ES6代码的源映射。然后,我使用r.js获取这些ES5 AMD模块,并将它们组合起来,使之丑陋。r、 js创建一个显示ES5文件的源映射。我想要第一步中的ES6。我的grunt文件如下所示:Javascript 如何将源地图从Babel transpiling保存到r.js uglifying?,javascript,requirejs,ecmascript-6,r.js,babeljs,Javascript,Requirejs,Ecmascript 6,R.js,Babeljs,我正在编写ES6 JavaScript模块,并使用Babel将它们传输到ES5。Babel生成指向原始ES6代码的源映射。然后,我使用r.js获取这些ES5 AMD模块,并将它们组合起来,使之丑陋。r、 js创建一个显示ES5文件的源映射。我想要第一步中的ES6。我的grunt文件如下所示: module.exports = function(grunt) { require('load-grunt-tasks')(grunt); // npm install --save-dev loa
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt); // npm install --save-dev load-grunt-tasks
// Project configuration.
grunt.initConfig({
babel: {
options: {
modules: "amd",
sourceMap: true
},
dist: {
files: {
"es5/editor.js": "src/editor.js",
"es5/editor-events.js": "src/editor-events.js"
}
}
},
requirejs: {
production: {
options: {
baseUrl: "es5",
mainConfigFile: "es5/require.config.js",
name: "../node_modules/almond/almond",
include: ["editor"],
out: "dist/ed.js",
optimize: "uglify2",
generateSourceMaps: true,
preserveLicenseComments: false
}
}
}
});
// Default task(s).
grunt.registerTask('default', ['babel', 'requirejs']);
};
browserify app.js -t babelify -d -o bundle.js
它完美地汇编了一切。但它丢失了漂亮的ES6源地图。有办法保存它们吗?有没有更好的构建过程可以让我创建一个浏览器友好的JavaScript文件?构建应用程序时不应该使用两个不同的步骤。一个用于运输,另一个用于捆扎。你应该走一步 您可以使用
browserify
将它们捆绑起来,并将babelify
作为transpiler。该命令如下所示:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt); // npm install --save-dev load-grunt-tasks
// Project configuration.
grunt.initConfig({
babel: {
options: {
modules: "amd",
sourceMap: true
},
dist: {
files: {
"es5/editor.js": "src/editor.js",
"es5/editor-events.js": "src/editor-events.js"
}
}
},
requirejs: {
production: {
options: {
baseUrl: "es5",
mainConfigFile: "es5/require.config.js",
name: "../node_modules/almond/almond",
include: ["editor"],
out: "dist/ed.js",
optimize: "uglify2",
generateSourceMaps: true,
preserveLicenseComments: false
}
}
}
});
// Default task(s).
grunt.registerTask('default', ['babel', 'requirejs']);
};
browserify app.js -t babelify -d -o bundle.js
注意:-d
(调试)将启用sourcemaps。他们将指向es6文件