吞噬不制作捆绑文件

发布于 2025-01-22 06:15:28 字数 9060 浏览 1 评论 0原文

我无法创建捆绑文件,这在我尝试升级到Gulp4之前工作正常,现在我回到了Gulp3。我没有在dist文件夹中看到文件。 Gulp在构建temp文件夹中创建文件,但在bundleapp文件夹中创建了文件。我可以在createBundletask的末尾记录task是否获得某种类型的状态?还是有一些更好的方法可以追溯到这一点?

没有构建捆绑文件的

var task = gulp.src(entryPoint)
    .pipe(gulp_jspm({
        selfExecutingBundle: true
    }),true)
    .pipe(rename(packageId + ".bundle.js"))
    .pipe(gulp.dest(paths.dist + "/bundle"));

任务

var gulp = require("gulp");
var runSequence = require("run-sequence");
var tslint = require("gulp-tslint");
var typedoc = require("gulp-typedoc");
var superstatic = require("superstatic");
var shell = require("gulp-shell");
var typescript = require("gulp-typescript");
var tsProject = typescript.createProject("tsconfig.json");
var sourcemaps = require("gulp-sourcemaps");
var rimraf = require("gulp-rimraf");
var replace = require("gulp-replace");
var rename = require("gulp-rename");
var ignore = require("gulp-ignore");
var insert = require("gulp-insert");
var concat = require("gulp-concat");
var uglify = require("gulp-uglify");
var tslintStylish = require("gulp-tslint-stylish");
var util = require("gulp-util");
var commentSwap = require("gulp-comment-swap");
var tsc = require("gulp-typescript");
var gulp_jspm = require("gulp-jspm");
var inlineNg2Template = require("gulp-inline-ng2-template");

/**
 * Typescript configuration 
 **/
var paths = {
    dist: "./dist",    
    sources: "./App/**/*.ts"    
};

gulp.task("prod", function (callback) {
    runSequence(
        "compile",
        "bundle",
        "min",
        function (error) {
            if (error) {
                console.log(error.message);
            } else {
                console.log("Production build finished successfully");
            }
            callback(error);
        });
});

/**
 * Compile TypeScript sources
 */
gulp.task("compile", ["clean"], function () {
    return gulp.src("./App/**/*.ts")
        .pipe(inlineNg2Template({
            base: "/",                  // Angular2 application base folder
            target: "es6",              // Can swap to es5
            indent: 2,                  // Indentation (spaces)
            useRelativePaths: false,     // Use components relative assset paths
            removeLineBreaks: false,     // Content will be included as one line
            templateExtension: ".html", // Update according to your file extension
            templateFunction: false    // If using a function instead of a string for `templateUrl`, pass a reference to that function here
        }))
        .pipe(tsProject())
        .pipe(ignore("References.js"))
        .pipe(gulp.dest("dist/App"));
});

/**
 * Bundle application parts
 */
gulp.task("bundle:template", function () {
    return createBundleTask(paths.dist + "/App/Pages/TemplateEdit.js", "template");
});

gulp.task("bundle:agents", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/Agents.js", "agents");
});

gulp.task("bundle:indications", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/Indications.js", "indications");
});

gulp.task("bundle:styleguidenotes", function () {
    return createBundleTask(paths.dist + "/App/Components/NoteEditor/NoteEditor.js", "styleguidenotes");
});

gulp.task("bundle:dynamicdictionary", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/DynamicDictionary.js", "dynamicdictionary");
});

gulp.task("bundle:splitdynamicdictionary", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/SplitDynamicDictionary.js", "splitdynamicdictionary");
});

gulp.task("bundle:styleguidenotesdevprocess", function () {
    return createBundleTask(paths.dist + "/App/Pages/StyleGuideNote/Index.js", "styleguidenotesdevprocess");
});

gulp.task("bundle:scheduling", function () {
    return createBundleTask(paths.dist + "/App/Pages/Scheduling/Index.js", "scheduling");
});

gulp.task("bundle:templatesmanagement", function () {
    return createBundleTask(paths.dist + "/App/Pages/TemplatesManagement/Index.js", "templatesmanagement");
});

gulp.task("bundle:review", function () {
    return createBundleTask(paths.dist + "/App/Pages/Review/Index.js", "review");
});

gulp.task("bundle:ownedreview", function () {
    return createBundleTask(paths.dist + "/App/Pages/OwnedReview/Index.js", "ownedreview");
});

gulp.task("bundle:pdfqueue", function () {
    return createBundleTask(paths.dist + "/App/Pages/PdfQueue/Index.js", "pdfqueue");
});

gulp.task("bundle:admin", function () {
    return createBundleTask(paths.dist + "/App/Pages/Admin/Index.js", "admin");
});


gulp.task("bundle", function (callback) {
    runSequence(
        "bundle:template",
        "bundle:agents",
        "bundle:indications",
        "bundle:styleguidenotes",        
        "bundle:dynamicdictionary",
        "bundle:splitdynamicdictionary",
        "bundle:styleguidenotesdevprocess",
        "bundle:scheduling",
        "bundle:templatesmanagement",
        "bundle:review",
        "bundle:ownedreview",
        "bundle:pdfqueue",
        "bundle:admin",
        function (error) {
            if (error) {
                console.log(error.message);
            } else {
                console.log("Bundling finished successfully");
            }
            callback(error);
        });
});

/**
 * Create application package
 */
gulp.task("min:template", function () {
    return createProductionPackageTask("template", true);
});

gulp.task("min:agents", function () {
    return createProductionPackageTask("agents", false);
});

gulp.task("min:indications", function () {
    return createProductionPackageTask("indications", false);
});

gulp.task("min:styleguidenotes", function () {
    return createProductionPackageTask("styleguidenotes", false);
});

gulp.task("min:dynamicdictionary", function () {
    return createProductionPackageTask("dynamicdictionary", false);
});

gulp.task("min:splitdynamicdictionary", function () {
    return createProductionPackageTask("splitdynamicdictionary", false);
});

gulp.task("min:styleguidenotesdevprocess", function () {
    return createProductionPackageTask("styleguidenotesdevprocess", false);
});

gulp.task("min:scheduling", function () {
    return createProductionPackageTask("scheduling", false);
});


gulp.task("min:templatesmanagement", function () {
    return createProductionPackageTask("templatesmanagement", false);
});

gulp.task("min:review", function () {
    return createProductionPackageTask("review", false);
});

gulp.task("min:ownedreview", function () {
    return createProductionPackageTask("ownedreview", false);
});

gulp.task("min:pdfqueue", function () {
    return createProductionPackageTask("pdfqueue", false);
});
gulp.task("min:admin", function () {
    return createProductionPackageTask("admin", false);
});

gulp.task("min", function (callback) {
    runSequence(
        "min:template",
        "min:agents",
        "min:indications",
        "min:styleguidenotes",        
        "min:dynamicdictionary",
        "min:splitdynamicdictionary",
        "min:styleguidenotesdevprocess",
        "min:scheduling",
        "min:templatesmanagement",
        "min:review",
        "min:ownedreview",
        "min:pdfqueue",
        "min:admin",
        function (error) {
            if (error) {
                console.log(error.message);
            } else {
                console.log("Minification finished successfully");
            }
            callback(error);
        });
});

/**
 * Clean build folder
 */
gulp.task("clean", function () {
    return gulp.src(paths.dist, { read: false }).pipe(rimraf({ force: true }));
});

/**
 * Helper methods
 */
var createBundleTask = function (entryPoint, packageId) {
    if (typeof entryPoint === "undefined") {
        throw "ArgumentNullException: entryPoint";
    }

    if (typeof packageId === "undefined") {
        throw "ArgumentNullException: packageId";
    }

    var task = gulp.src(entryPoint)
        .pipe(gulp_jspm({ selfExecutingBundle: true }))
        .pipe(rename(packageId + ".bundle.js"))
        .pipe(gulp.dest(paths.dist + "/bundle"));

    return task;
};

var createProductionPackageTask = function (packageId, uglifyDestination) {
    if (typeof packageId === "undefined") {
        throw "ArgumentNullException: packageId";
    }

    var filesArry = [
        "./node_modules/core-js/client/shim.min.js",
        "./node_modules/zone.js/dist/zone.js",
        "./node_modules/reflect-metadata/Reflect.js",
        paths.dist + "/bundle/" + packageId + ".bundle.js"
    ];

    var task = gulp.src(filesArry)
        .pipe(concat(packageId + "_concatApp.js"))
        .pipe(gulp.dest(paths.dist + "/temp"))
        .pipe(rename(packageId + ".bundle.min.js"));



    if (uglifyDestination) {
        task = task.pipe(uglify({ mangle: false }));
    }

    return task.pipe(gulp.dest(paths.dist + "/build"));    
};

I am unable to get my bundle files created, this was working fine before I tried to upgrade to gulp4 and now that I am back on gulp3. I am not seeing the files in my dist folder. Gulp created the files in the build and temp folder but not in the bundle or App folder. Can I log the task at the end of the createBundleTask is get some type of status? Or is there some better way to trace this out?

task that is not building bundle files

var task = gulp.src(entryPoint)
    .pipe(gulp_jspm({
        selfExecutingBundle: true
    }),true)
    .pipe(rename(packageId + ".bundle.js"))
    .pipe(gulp.dest(paths.dist + "/bundle"));

gulp file

var gulp = require("gulp");
var runSequence = require("run-sequence");
var tslint = require("gulp-tslint");
var typedoc = require("gulp-typedoc");
var superstatic = require("superstatic");
var shell = require("gulp-shell");
var typescript = require("gulp-typescript");
var tsProject = typescript.createProject("tsconfig.json");
var sourcemaps = require("gulp-sourcemaps");
var rimraf = require("gulp-rimraf");
var replace = require("gulp-replace");
var rename = require("gulp-rename");
var ignore = require("gulp-ignore");
var insert = require("gulp-insert");
var concat = require("gulp-concat");
var uglify = require("gulp-uglify");
var tslintStylish = require("gulp-tslint-stylish");
var util = require("gulp-util");
var commentSwap = require("gulp-comment-swap");
var tsc = require("gulp-typescript");
var gulp_jspm = require("gulp-jspm");
var inlineNg2Template = require("gulp-inline-ng2-template");

/**
 * Typescript configuration 
 **/
var paths = {
    dist: "./dist",    
    sources: "./App/**/*.ts"    
};

gulp.task("prod", function (callback) {
    runSequence(
        "compile",
        "bundle",
        "min",
        function (error) {
            if (error) {
                console.log(error.message);
            } else {
                console.log("Production build finished successfully");
            }
            callback(error);
        });
});

/**
 * Compile TypeScript sources
 */
gulp.task("compile", ["clean"], function () {
    return gulp.src("./App/**/*.ts")
        .pipe(inlineNg2Template({
            base: "/",                  // Angular2 application base folder
            target: "es6",              // Can swap to es5
            indent: 2,                  // Indentation (spaces)
            useRelativePaths: false,     // Use components relative assset paths
            removeLineBreaks: false,     // Content will be included as one line
            templateExtension: ".html", // Update according to your file extension
            templateFunction: false    // If using a function instead of a string for `templateUrl`, pass a reference to that function here
        }))
        .pipe(tsProject())
        .pipe(ignore("References.js"))
        .pipe(gulp.dest("dist/App"));
});

/**
 * Bundle application parts
 */
gulp.task("bundle:template", function () {
    return createBundleTask(paths.dist + "/App/Pages/TemplateEdit.js", "template");
});

gulp.task("bundle:agents", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/Agents.js", "agents");
});

gulp.task("bundle:indications", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/Indications.js", "indications");
});

gulp.task("bundle:styleguidenotes", function () {
    return createBundleTask(paths.dist + "/App/Components/NoteEditor/NoteEditor.js", "styleguidenotes");
});

gulp.task("bundle:dynamicdictionary", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/DynamicDictionary.js", "dynamicdictionary");
});

gulp.task("bundle:splitdynamicdictionary", function () {
    return createBundleTask(paths.dist + "/App/Pages/Maintenance/SplitDynamicDictionary.js", "splitdynamicdictionary");
});

gulp.task("bundle:styleguidenotesdevprocess", function () {
    return createBundleTask(paths.dist + "/App/Pages/StyleGuideNote/Index.js", "styleguidenotesdevprocess");
});

gulp.task("bundle:scheduling", function () {
    return createBundleTask(paths.dist + "/App/Pages/Scheduling/Index.js", "scheduling");
});

gulp.task("bundle:templatesmanagement", function () {
    return createBundleTask(paths.dist + "/App/Pages/TemplatesManagement/Index.js", "templatesmanagement");
});

gulp.task("bundle:review", function () {
    return createBundleTask(paths.dist + "/App/Pages/Review/Index.js", "review");
});

gulp.task("bundle:ownedreview", function () {
    return createBundleTask(paths.dist + "/App/Pages/OwnedReview/Index.js", "ownedreview");
});

gulp.task("bundle:pdfqueue", function () {
    return createBundleTask(paths.dist + "/App/Pages/PdfQueue/Index.js", "pdfqueue");
});

gulp.task("bundle:admin", function () {
    return createBundleTask(paths.dist + "/App/Pages/Admin/Index.js", "admin");
});


gulp.task("bundle", function (callback) {
    runSequence(
        "bundle:template",
        "bundle:agents",
        "bundle:indications",
        "bundle:styleguidenotes",        
        "bundle:dynamicdictionary",
        "bundle:splitdynamicdictionary",
        "bundle:styleguidenotesdevprocess",
        "bundle:scheduling",
        "bundle:templatesmanagement",
        "bundle:review",
        "bundle:ownedreview",
        "bundle:pdfqueue",
        "bundle:admin",
        function (error) {
            if (error) {
                console.log(error.message);
            } else {
                console.log("Bundling finished successfully");
            }
            callback(error);
        });
});

/**
 * Create application package
 */
gulp.task("min:template", function () {
    return createProductionPackageTask("template", true);
});

gulp.task("min:agents", function () {
    return createProductionPackageTask("agents", false);
});

gulp.task("min:indications", function () {
    return createProductionPackageTask("indications", false);
});

gulp.task("min:styleguidenotes", function () {
    return createProductionPackageTask("styleguidenotes", false);
});

gulp.task("min:dynamicdictionary", function () {
    return createProductionPackageTask("dynamicdictionary", false);
});

gulp.task("min:splitdynamicdictionary", function () {
    return createProductionPackageTask("splitdynamicdictionary", false);
});

gulp.task("min:styleguidenotesdevprocess", function () {
    return createProductionPackageTask("styleguidenotesdevprocess", false);
});

gulp.task("min:scheduling", function () {
    return createProductionPackageTask("scheduling", false);
});


gulp.task("min:templatesmanagement", function () {
    return createProductionPackageTask("templatesmanagement", false);
});

gulp.task("min:review", function () {
    return createProductionPackageTask("review", false);
});

gulp.task("min:ownedreview", function () {
    return createProductionPackageTask("ownedreview", false);
});

gulp.task("min:pdfqueue", function () {
    return createProductionPackageTask("pdfqueue", false);
});
gulp.task("min:admin", function () {
    return createProductionPackageTask("admin", false);
});

gulp.task("min", function (callback) {
    runSequence(
        "min:template",
        "min:agents",
        "min:indications",
        "min:styleguidenotes",        
        "min:dynamicdictionary",
        "min:splitdynamicdictionary",
        "min:styleguidenotesdevprocess",
        "min:scheduling",
        "min:templatesmanagement",
        "min:review",
        "min:ownedreview",
        "min:pdfqueue",
        "min:admin",
        function (error) {
            if (error) {
                console.log(error.message);
            } else {
                console.log("Minification finished successfully");
            }
            callback(error);
        });
});

/**
 * Clean build folder
 */
gulp.task("clean", function () {
    return gulp.src(paths.dist, { read: false }).pipe(rimraf({ force: true }));
});

/**
 * Helper methods
 */
var createBundleTask = function (entryPoint, packageId) {
    if (typeof entryPoint === "undefined") {
        throw "ArgumentNullException: entryPoint";
    }

    if (typeof packageId === "undefined") {
        throw "ArgumentNullException: packageId";
    }

    var task = gulp.src(entryPoint)
        .pipe(gulp_jspm({ selfExecutingBundle: true }))
        .pipe(rename(packageId + ".bundle.js"))
        .pipe(gulp.dest(paths.dist + "/bundle"));

    return task;
};

var createProductionPackageTask = function (packageId, uglifyDestination) {
    if (typeof packageId === "undefined") {
        throw "ArgumentNullException: packageId";
    }

    var filesArry = [
        "./node_modules/core-js/client/shim.min.js",
        "./node_modules/zone.js/dist/zone.js",
        "./node_modules/reflect-metadata/Reflect.js",
        paths.dist + "/bundle/" + packageId + ".bundle.js"
    ];

    var task = gulp.src(filesArry)
        .pipe(concat(packageId + "_concatApp.js"))
        .pipe(gulp.dest(paths.dist + "/temp"))
        .pipe(rename(packageId + ".bundle.min.js"));



    if (uglifyDestination) {
        task = task.pipe(uglify({ mangle: false }));
    }

    return task.pipe(gulp.dest(paths.dist + "/build"));    
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空心空情空意 2025-01-29 06:15:28

Gulp 4删除了gulp.task的3个arguments语法,如

这意味着现在应该使用两个新功能来处理依赖关系任务:

  • gulp.Series()
  • gulp.parallel()

您可以在此阅读有关此破裂更改的更多信息迁移指南

因此,您有2个更改要进行:

  1. 当前,在您的海湾文件中,您有此任务:

      gulp.task(“ compile”,[“ clean”],function(){
        ...
    });
     

    因此,您必须将其更改为:

      gulp.task('compile',gulp.Series('clean',function(){
       ...
    }));
     
  2. similairly,必须用runsequence task.Series.Series 或任务.Parallel(只有您知道这些任务是否必须串行或并行运行)。

    另一个选项是更新Gulp 3兼容的软件包run-sequence,您当前使用该软件包,该软件包 gulp4-run-sequence

Gulp 4 removed the 3-arguments syntax for gulp.task, as mentioned in the changelog.

This means dependency tasks should now be handled differently, using the two new functions:

  • gulp.series()
  • gulp.parallel()

You can read more about this breaking change in this migration guide.

So you have 2 changes to make:

  1. Currently, in your gulp file you have this task:

    gulp.task("compile", ["clean"], function () {
        ...
    });
    

    So you must change it to:

    gulp.task('compile', gulp.series('clean', function() {
       ...
    }));
    
  2. Similairly, you must replace runSequence with task.series or task.parallel (only you know if those tasks must run serially or in parallel).

    Another option is to update the Gulp 3-compatible package run-sequence which you currently use to the Gulp 4-compatible package gulp4-run-sequence.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文