我正在研究Gulp,并试图为我的JavaScript文件app.js生成源Map,但sourcemaps生成并不像预期的那样工作。我遇到一些old answers建议使用gulp-sourcemaps插件,但Gulp官方文档现在指出,您可以直接通过**{ sourcemaps:在src和dest中,
我写了我的代码gulpfile.js
const { src, dest } = require("gulp");
const uglify = require("gulp-uglify");
var paths = {
scripts: {
src: "src/assets/js/app.js",
dest: "./dist/assets",
}
};
exports.default = function copyAssets(cb) {
src(paths.scripts.src , {sourcemaps: true})
.pipe(uglify())
.pipe(dest("dist/assets/"), { sourcemaps: '.'})
cb()
}
除了没有生成JavaScript文件的源Map之外,一切工作正常。
这是一个目录结构。
├─ src/
│ ├─ index.html
│ ├─ assets/
│ │ ├─ css/
│ │ │ ├─ stylesheet.css
│ │ ├─ js/
│ │ │ ├─ app.js
├─ dest/
│ ├─ assets/
│ │ ├─ stylesheet.css
│ │ ├─ app.js
│ ├─ index.html
这是app.js中的一段“愚蠢”代码
let message = document.querySelector(".gulp-welcome-message");
let title = document.querySelector("title");
message.addEventListener("click", () => {
message.innerText =
message.innerText === "Hello Gulp 🥤" ? "Hello Gulp 🥛" : "Hello Gulp 🥤";
title.innerText =
title.innerText === "Hello Gulp 🥛" ? "Hello Gulp 🥤" : "Hello Gulp 🥛";
console.log(title.innerText);
});
环境信息:
Gulp Version: CLI version: 2.3.0, Local version: 4.0.2
Node.js Version: v20.4.0
Operating System: Windows 10
如何解决此问题?有什么想法吗?
1条答案
按热度按时间oalqel3c1#
我发现了这个问题,错误是在使用dest时的圆括号闭包中。
.pipe(dest(“dist/assets/”),{ sourcemaps:'.'})
根据官方文档**dest**,正确的语法是:
dest(目录,[选项])
解决方案是将选项作为第二个参数传递,如下所示: