gulp TypeScript项目js库,生成.d.ts文件

检测node环境

node --version
npm --version
npx --version

创建bin文件夹
.js, .min.js, .d.ts 输出目录
创建src文件夹
ts项目源码目录
在这里插入图片描述
在项目目录下创建 package.json 文件
npm init
配置发布者的信息 和 包声明
在这里插入图片描述

npm安装gulp
npm install --global gulp-cli

创建gulpfile.js脚本文件

'use strict';
const gulp = require("gulp");
const minify = require('gulp-minify');
const inject = require("gulp-inject-string");
const ts = require('gulp-typescript');
const merge = require('merge2');
const tsProject = ts.createProject('tsconfig.json');

gulp.task('buildJs', () => {
    return tsProject.src()
        .pipe(tsProject())
        .js.pipe(inject.replace('var es;', ''))
        .pipe(inject.prepend('window.es = {};\n'))
        .pipe(inject.replace('var __extends =', 'window.__extends ='))
        .pipe(minify({ ext: { min: ".min.js" } }))
        .pipe(gulp.dest('./bin'));
});

gulp.task("buildDts", ["buildJs"], () => {
    return tsProject.src()
        .pipe(tsProject())
        // .dts.pipe(inject.append('import e = framework;'))
        .pipe(gulp.dest('./bin'));
});

gulp.task("copy", ["buildDts"], () => {
    return gulp.src('bin/**/*')
        .pipe(gulp.dest('../demo/egret_demo/libs/framework/'))
        .pipe(gulp.dest('../extensions/behaviourTree-ai/egret-demo/libs/framework/'))
});

gulp.task('build', ['copy'], () => {
    return merge([
        gulp.src('bin/*.js')
            .pipe(gulp.dest('../demo/laya_demo/bin/libs/')),
        gulp.src('bin/*.ts')
            .pipe(gulp.dest('../demo/laya_demo/libs/')),
        gulp.src('bin/framework.d.ts')
            .pipe(gulp.dest('../extensions/behaviourTree-ai/source/lib/'))
            .pipe(gulp.dest('../extensions/ecs-star/lib/'))
            .pipe(gulp.dest('../extensions/ecs-tween/lib/'))
    ])
});

build
gulp build

Description
gulp官网

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值