मैं ES6 कोड लिख रहा हूँ और यह transpile कोलाहल के साथ ES5 के साथ ES6 कोड transpiled, तो। सभी gulp के माध्यम से वेबपैक के साथ भागो। मैं बाहरी स्रोत मानचित्रों का उपयोग करना चाहता हूं (जितना संभव हो सके फाइलसाइज को छोटा रखना)।बाहरी स्रोत नक्शे, कुरूप बनाना साथ कम करें webpack और घूंट
घूंट कार्य बहुत बुनियादी है - सभी फैशनेबल सामान webpack config में है:
var gulp = require("gulp");
var webpack = require("gulp-webpack");
gulp.task("js:es6", function () {
return gulp.src(path.join(__dirname, "PTH", "TO", "SRC", "index.js"))
.pipe(webpack(require("./webpack.config.js")))
.pipe(gulp.dest(path.join(__dirname, "PTH", "TO", "DEST")));
});
webpack.config.js:
var path = require("path");
var webpack = require("webpack");
module.exports = {
output: {
filename: "main.js",
sourceMapFilename: "main.js.map"
},
devtool: "#inline-source-map",
module: {
loaders: [
{ test: path.join(__dirname, "PTH", "TO", "SRC"),
loader: "babel-loader" }
]
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
output: {
comments: false,
semicolons: true
},
sourceMap: true
})
]
};
ऊपर काम करता है और यह स्रोत नक्शे काम कर बनाता है - लेकिन वे इनलाइन हैं।
यदि मैं webpack.config.js बदलता हूं तो यह devtool: "#source-map"
कहता है, स्रोत मानचित्र एक अलग फ़ाइल के रूप में बनाया गया है (sourceMapFilename
फ़ाइल नाम के रूप में)। लेकिन यह उपयोग करने योग्य नहीं है - क्रोम देव उपकरण इसे समझ में नहीं आता है। यदि मैं webpack.optimize.UglifyJsPlugin
को हटाता हूं तो स्रोत मानचित्र उपयोग योग्य है - लेकिन कोड को छोटा नहीं किया गया है। तो स्रोत मानचित्र दो अलग-अलग चरणों के लिए काम करता है, लेकिन जब वे अनुक्रम में नहीं होते हैं।
मुझे संदेह है कि uglify कदम पिछले ट्रांसलेटर चरण से बाहरी स्रोतमैप को अनदेखा करता है, इसलिए यह उत्पन्न स्रोत स्रोत स्ट्रीम पर आधारित है, जो निश्चित रूप से गल्प के बाहर मौजूद नहीं है। इसलिए अनुपयोगी स्रोत मानचित्र।
मैं तो मैं कुछ स्पष्ट याद आ रही हो सकता है बहुत webpack के लिए नया हूँ।
मुझे क्या करना कोशिश कर रहा हूँ इस सवाल का समान है, लेकिन browserify के बजाय webpack साथ: Gulp + browserify + 6to5 + source maps
अग्रिम धन्यवाद।
क्रोम शो वास्तव में क्या करता है जो आपको कहता है कि यह समझ में नहीं आता है? जहां तक मुझे पता है, '# स्रोत-मानचित्र' काम करना चाहिए। – loganfsmyth
@loganfsmyth जैसा कि मैंने प्रश्न में कहा था, यह अलगाव में काम करता है लेकिन जब आपके पास दोनों पारदर्शी और न्यूनीकरण नहीं होते हैं, जहां दोनों चरण बाहरी स्रोत मानचित्र बनाते हैं। क्रोम बस मिनीफाइड फ़ाइल दिखाता है। अगर मैं सभी स्रोत मानचित्र इनलाइन छोड़ देता हूं, क्रोम मुझे इसके बजाय व्यक्तिगत फाइलें दिखाता है। – gotofritz