使用 gulp 任务执行 nexe 编译

Execute nexe compile with gulp task

有人可以建议如何通过 gulp 任务执行 nexe 编译吗?我写了简单的 gilpfile.hs 文件。如何在那里添加 nexe.compile()?

https://www.npmjs.com/package/nexe

const gulp = require("gulp");
const ts = require("gulp-typescript");
const nexe = require("nexe");

const target = {
    folder: "target",
    js: "index.js",
    exe: "index.exe"
};

gulp.task("build", function () {
    return gulp.src("src/**/*.ts")
    .pipe(ts({ outFile: target.js }))
    .pipe(nexe.compile()) // What write here?
    .pipe(gulp.dest(target.folder));
});

Nexe 没有直接的 gulp 支持 - 因此它不适用于文件流。 但它基于承诺 - 因此您可以 运行 指向实际文件路径。

想法是 - 在你完成将 typescript 编译为 js 之后 - 运行 nexe 使用那个 target.js 文件构建 -

尝试关注

const gulp = require("gulp");
const ts = require("gulp-typescript");

var { compile } = require('nexe');

const target = {
    folder: "target",
    js: "index.js",
    exe: "index.exe"
};

gulp.task("build", function () {
    return gulp.src("src/**/*.ts")
    .pipe(ts({ outFile: target.js }))
    .pipe(gulp.dest(target.folder));
});

gulp.task('nexe', function () {
    return compile({
        input: target.folder+ '/target.js'
    }).then(() => {
        return true
    })
})
gulp.task('default', ['build', 'nexe']);