美文网首页
使用gulp构建TypeScript项目

使用gulp构建TypeScript项目

作者: MasonInFaith | 来源:发表于2018-08-15 10:07 被阅读0次

使用Gulp构建TypeScript,在Gulp管道里添加BrowserifyuglifyWatchify。 它还包涵了 Babel的功能,通过使用Babelify
Watchify 启动Gulp并保持运行状态,当你保存文件时自动编译。 帮你进入到编辑-保存-刷新浏览器的循环中。
Browserify 把这个工程由Node.js环境移到浏览器环境里。 把所有模块捆绑成一个JavaScript文件。
Uglify 帮你压缩代码,将花费更少的时间去下载它们。
参考Typescript中文网·Gulp

文件结构
myProject
|--src
    |--index.html
    |--ts
    |--css
|--dist
|--package.json
|--gulpfile.js
|--tsconfig.json
package.json
{
  "name": "tsPlayGround",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "gulp": "^3.9.1",
    "gulp-cli": "^2.0.1",
    "gulp-typescript": "^5.0.0-alpha.3",
    "gulp-util": "^3.0.8",
    "typescript": "^3.0.1",
    "vinyl-source-stream": "^2.0.0",
    "watchify": "^3.11.0"
  },
  "devDependencies": {
    "browserify": "^16.2.2",
    "gulp-sourcemaps": "^2.6.4",
    "gulp-uglify": "^3.0.1",
    "tsify": "^4.0.0",
    "vinyl-buffer": "^1.0.1"
  }
}
gulpfile.js
var gulp = require("gulp");
var browserify = require("browserify");
var source = require('vinyl-source-stream');
var watchify = require("watchify");
var tsify = require("tsify");
var gutil = require("gulp-util");
var uglify = require('gulp-uglify');
var paths = {
  pages: ['src/*.html']
};
var sourcemaps = require('gulp-sourcemaps');
var buffer = require('vinyl-buffer');

var watchedBrowserify = watchify(browserify({
  basedir: '.',
  debug: true,
  entries: ['src/main.ts'],
  cache: {},
  packageCache: {}
}).plugin(tsify));

gulp.task("copy-html", function () {
  return gulp.src(paths.pages)
    .pipe(gulp.dest("dist"));
});

function bundle() {
  return watchedBrowserify
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(buffer())
    .pipe(sourcemaps.init({
      loadMaps: true
    }))
    .pipe(uglify())
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest("dist"));
}

gulp.task("default", ["copy-html"], bundle);
watchedBrowserify.on("update", bundle);
watchedBrowserify.on("log", gutil.log);
tsconfig.json
{
  "files": [
    "src/main.ts"
  ],
  "compilerOptions": {
    "noImplicitAny": true,
    "target": "es3"
  }
}
步骤
  1. 建立文件夹及上面三个文件。
  2. src文件夹中建立main.ts文件
  3. 在根目录npm初始化 npm init
  4. 在根目录下npm install 安装依赖包
  5. gulp 命令构建,构建后gulp会保持运行状态
  6. 每次保存文件后gulp会通过watchedBrowserify插件自动生成编译, 在浏览器中手动刷新可看到结果

相关文章

  • 使用gulp构建TypeScript项目

    使用Gulp构建TypeScript,在Gulp管道里添加Browserify, uglify或Watchify。...

  • 如何使用Gulp构建TypeScript

    转载地址 如何使用Gulp构建TypeScript 1、创建目录选择一个你认为适合开发项目的目录,然后参考下面创建...

  • 使用gulp构建项目

    使用gulp构建项目 [https://github.com/wylb/demo-gulp#1%E5%85%A8%...

  • 使用nvm解决gulp ReferenceError: prim

    一、问题 使用gulp构建老项目时报错:ReferenceError: primordials is not de...

  • 项目构建

    项目构建 gulp 合并、编译、压缩等 简单 使用 webpack 合并、编译、压缩等 强大 使用

  • gulp-livereload的端口问题

    在公司做项目时,有两个项目工程,都是通过gulp进行前端构建,使用gulp-livereload达到浏览器实时刷新...

  • 配置Gulp

    使用工具 Gulp说明 Gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器,基于node.js,...

  • 项目构建打包gulp

    gulp gulp是NodeJS项目构建工具,它是用来构建我们的项目,而且是把开发中的项目构建成可以放置在服务器的...

  • webpack+gulp 构建react项目

    @拭目以待:首发于webpack+gulp 构建react项目 背景 GirdManager首页,使用 React...

  • 【前端工具】gulp构建工具的基本使用

    gulp是什么? gulp是前端开发中经常使用的自动化构建工具。自动化构建又是什么? 简单来说,一个完整的项目需要...

网友评论

      本文标题:使用gulp构建TypeScript项目

      本文链接:https://www.haomeiwen.com/subject/dmxvbftx.html