首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >狼吞虎咽地不制作捆绑文件

狼吞虎咽地不制作捆绑文件
EN

Stack Overflow用户
提问于 2022-04-18 19:50:24
回答 1查看 295关注 0票数 1

我无法创建包文件,在我尝试升级到gulp4之前,它运行良好,现在我又回到了gulp3上。我没有看到我的dist文件夹中的文件。Gulp在buildtemp文件夹中创建了文件,但在bundleApp文件夹中没有创建这些文件。我能把task记录在createBundleTask的末尾得到某种类型的状态吗?或者有什么更好的方法来追踪这件事?

不构建包文件的任务。

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

吞咽文件

代码语言:javascript
复制
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"));    
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-21 10:01:40

GUP4删除了gulp.task的3-参数语法,如变化量g中所提到的。

这意味着现在应该使用以下两个新函数以不同的方式处理依赖项任务:

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

您可以在这个迁移指南中读到更多关于这一重大变化的内容。

所以你有两个改变要做:

  1. 目前,在您的gulp文件中,您有以下任务: Gulp.task(“编译”、“清洁”、函数() {. }); 因此,您必须将其更改为: Gulp.task(‘编译’,gulp.series(‘洁净’,函数(){. }));
  2. 同样,您必须将runSequence替换为task.seriestask.parallel (只有您知道这些任务是否必须串行或并行运行)。 另一种选择是更新与Gulp 3兼容的包run-sequence,您目前使用的是与Gulp 4兼容的包run 4-运行序列
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71916412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档