当前位置: 首页 > news >正文

【TypeScript系列】与其它构建工具整合

与其它构建工具整合

构建工具

  • Babel
  • Browserify
  • Duo
  • Grunt
  • Gulp
  • Jspm
  • Webpack
  • MSBuild
  • NuGet

Babel

安装

npm install @babel/cli @babel/core @babel/preset-typescript --save-dev

.babelrc

{"presets": ["@babel/preset-typescript"]
}

使用命令行工具

./node_modules/.bin/babel --out-file bundle.js src/index.ts

package.json

{"scripts": {"build": "babel --out-file bundle.js main.ts"},
}

在命令行上运行Babel

npm run build

Browserify

安装

npm install tsify

使用命令行交互

browserify main.ts -p [ tsify --noImplicitAny ] > bundle.js

使用API

var browserify = require("browserify");
var tsify = require("tsify");browserify().add('main.ts').plugin('tsify', { noImplicitAny: true }).bundle().pipe(process.stdout);

更多详细信息:smrq/tsify

Duo

安装

npm install duo-typescript

使用命令行交互

duo --use duo-typescript entry.ts

使用API

var Duo = require('duo');
var fs = require('fs')
var path = require('path')
var typescript = require('duo-typescript');var out = path.join(__dirname, "output.js")Duo(__dirname).entry('entry.ts').use(typescript()).run(function (err, results) {if (err) throw err;// Write compiled result to output filefs.writeFileSync(out, results.code);});

更多详细信息:frankwallis/duo-typescript

Grunt

安装

npm install grunt-ts

基本Gruntfile.js

module.exports = function(grunt) {grunt.initConfig({ts: {default : {src: ["**/*.ts", "!node_modules/**/*.ts"]}}});grunt.loadNpmTasks("grunt-ts");grunt.registerTask("default", ["ts"]);
};

更多详细信息:TypeStrong/grunt-ts

Gulp

安装

npm install gulp-typescript

基本gulpfile.js

var gulp = require("gulp");
var ts = require("gulp-typescript");gulp.task("default", function () {var tsResult = gulp.src("src/*.ts").pipe(ts({noImplicitAny: true,out: "output.js"}));return tsResult.js.pipe(gulp.dest('built/local'));
});

更多详细信息:ivogabe/gulp-typescript

Jspm

安装

npm install -g jspm@beta

注意:目前jspm的0.16beta版本支持TypeScript

更多详细信息:TypeScriptSamples/jspm

Webpack

安装

npm install ts-loader --save-dev

Webpack 2 webpack.config.js 基础配置

module.exports = {entry: "./src/index.tsx",output: {path: '/',filename: "bundle.js"},resolve: {extensions: [".tsx", ".ts", ".js", ".json"]},module: {rules: [// all files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'{ test: /\.tsx?$/, use: ["ts-loader"], exclude: /node_modules/ }]}
}

Webpack 1 webpack.config.js 基础配置

module.exports = {entry: "./src/index.tsx",output: {filename: "bundle.js"},resolve: {// Add '.ts' and '.tsx' as a resolvable extension.extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"]},module: {loaders: [// all files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'{ test: /\.tsx?$/, loader: "ts-loader" }]}
};

查看更多关于ts-loader的详细信息

或者

  • awesome-typescript-loader

MSBuild

更新工程文件,包含本地安装的Microsoft.TypeScript.Default.props(在顶端)和Microsoft.TypeScript.targets(在底部)文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"><!-- Include default props at the top --><ImportProject="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props"Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" /><!-- TypeScript configurations go here --><PropertyGroup Condition="'$(Configuration)' == 'Debug'"><TypeScriptRemoveComments>false</TypeScriptRemoveComments><TypeScriptSourceMap>true</TypeScriptSourceMap></PropertyGroup><PropertyGroup Condition="'$(Configuration)' == 'Release'"><TypeScriptRemoveComments>true</TypeScriptRemoveComments><TypeScriptSourceMap>false</TypeScriptSourceMap></PropertyGroup><!-- Include default targets at the bottom --><ImportProject="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets"Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
</Project>

关于配置MSBuild编译器选项的更多详细信息,请参考:在MSBuild里使用编译选项

NuGet

  • 右键点击 -> Manage NuGet Packages
  • 查找Microsoft.TypeScript.MSBuild
  • 点击Install
  • 安装完成后,Rebuild。

更多详细信息请参考Package Manager Dialog和using nightly builds with NuGet

http://www.lryc.cn/news/332827.html

相关文章:

  • Java | Leetcode Java题解之第12题整数转罗马数字
  • 哈佛大学商业评论 --- 第五篇:智能眼镜之战
  • paddlepaddle模型转换onnx指导文档
  • 图像处理与视觉感知---期末复习重点(6)
  • git 如何删除本地和远程分支
  • Kong基于QPS、IP限流
  • 基于springboot实现甘肃非物质文化网站系统项目【项目源码+论文说明】
  • 【瑞萨RA6M3】1. 基于 vscode 搭建开发环境
  • 使用pip install替代conda install将packet下载到anaconda虚拟环境
  • 【HTML】常用CSS属性
  • python中的print(f‘‘)具体用法
  • 《青少年成长管理2024》022 “成长七要素之三:文化”4/5
  • Linux(05) Debian 系统修改主机名
  • 之前翻硬币问题胡思乱想的完善
  • 前端与后端协同:实现Excel导入导出功能
  • Docker:探索容器化技术,重塑云计算时代应用交付与管理
  • 畅捷通T+ KeyInfoList.aspx SQL漏洞复现
  • 【面经】interrupt()、interrupted()和isInterrupted()的区别与使用
  • 了解这些技术:Flutter应用顺利登陆iOS平台的步骤与方法
  • 经济学 劳动市场 医疗经济学
  • vue + koa + Sequelize + 阿里云部署 + 宝塔:宝塔数据库连接
  • 华为昇腾认证考试内容有哪些
  • Spring Boot接收从前端传过来的数据常用方式以及处理的技巧
  • EFCore通用数据操作类
  • java Web 辅助学习管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 使用Python实现K近邻算法
  • Celery的任务流
  • 使用Arcpy进行数据批处理-批量裁剪
  • 【攻防世界】ics-05
  • VTK的交互器