广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NETCore项目中集成TypeScript
  • 867
分享到

ASP.NETCore项目中集成TypeScript

2024-04-02 19:04:59 867人浏览 独家记忆
摘要

今天试了下在ASP.net core中集成typescript,发现vs2019对typescript集成的支持还是非常友好的。本文在这里简单的介绍一下。 由于typescript文

今天试了下在ASP.net core中集成typescript,发现vs2019对typescript集成的支持还是非常友好的。本文在这里简单的介绍一下。

由于typescript文件是编译为js后作为静态文件发布的,因此首先需要启用静态文件浏览:

app.UseStaticFiles();

在WWWRoot文件夹下添加ts文件:

此时VS会提示安装Microsoft.TypeScript.MSBuild Nuget包,根据向导安装即可。

编辑TypeScript文件,可以看到生成了相应的js文件。

新建html文件,引入生成的js文件即可。

<script src="scripts/app.js"></script>

以上就是一个基本的流程,本身是比较简单的,VS自动集成了build工具,编辑或生成项目的时候,会将ts文件生成js文件,html中直接引用生成的js即可。

另外,系统还会自动发布ts和map文件,可以以ts文件的 直接调试,非常方便。

在IE中启用Async/Await支持

async/await是我非常喜欢的语法,但它是ES2107中引入的,无缘于IE。而现在的项目是要保持IE的支持,使用typescript一个好处是可以在IE11中使用async/await语法。

为了演示这一过程,首先写一个测试函数:

function delay(ms: number) {
    return new Promise<void>(resolve => setTimeout(resolve, ms));
}
 
async function foo() {
    console.log("Knock, knock!");

    await delay(1000);
    console.log("Who's there?");

    await delay(1000);
    console.log("async/await!");
}

编译的时候发现无法通过,提示没有Promise,要求将lib改成es2015的版本。

注意:这里不是讲js的输出版本改成es2015,如果这样改了的话,能编译通过,但会输出es2015的脚本,是无法在ie11上运行的

解决方法是增加一个tsconfig.JSON文件,指定typescript的编译选项,这里是我的一个参考配置:

{
    "compilerOptions": {
        "noImplicitAny": false,
        "noEmitOnError": true,
        "removeComments": false,
        "sourceMap": true,
        "lib": ["es6", "dom"],
        "target": "es5"
    },
    "exclude": ["node_modules"]
}

注:tsconfig.cofig指定的选项的优先级是比csproj中的typescript选项高的,加了这个文件后,我们是可以将csproj文件中的相应配置删掉的。另外,这个配置文件里面也可以进行更多的配置设置。

因为我们要输出为IE中支持的脚本,这儿的targert选择的是es5。增加了这个选项后,就可以编译通过了,但是,在IE中运行的时候还是出错:

原因很简单,es5的runtime中没有promise结构的定义。要解决这个问题,我们需要安装promise-polyfill的npm包。这里我是在html中直接引用CDN脚本

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>

加入了该脚本后,就可以愉快的在ie中进行await了。

总结一下也就是额外的两步:

  • 添加tsconfig,指定es6的lib

  • 添加promise-polyfill的引用

当然,如果只考虑高版本的chrome的话支持,就没有这么麻烦,直接指定target为es2017即可,生成的JS脚本更加简洁。具体原理可以参看参考文档2,这里就不介绍了,

到此这篇关于ASP.net core集成TypeScript的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ASP.NETCore项目中集成TypeScript

本文链接: https://www.lsjlt.com/news/165129.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NETCore项目中集成TypeScript
    今天试了下在Asp.net core中集成typescript,发现vs2019对typescript集成的支持还是非常友好的。本文在这里简单的介绍一下。 由于typescript文...
    99+
    2022-11-13
  • 在Asp.netcore项目中使用WebSocket
    今天小试了一下在Asp.net core中使用websocket,这里记录一下: 在 Startup 类的 Configure 方法中添加 WebSocket 中间件。 app.Us...
    99+
    2022-11-13
  • SpringBoot项目集成Dubbo
    1.环境搭建 为整合Dubbo之前,我们所写的项目都是单一应用架构,只需要一个应用,将所有功能都部署在一起,在应用内部是控制层调用业务层,业务层调用数据持久层;如今,整合Dubbo后,我们可以将应用程序的不同功能单元进行拆分(将控制层、业务...
    99+
    2023-08-25
    dubbo spring boot java
  • ASP.NETCore在WebApi项目中使用MiniProfiler分析EntityFrameworkCore
    安装配置MiniProfiler 在现有的ASP.NET Core MVC WebApi 项目里,通过Nuget安装MiniProfiler: Install-Package Min...
    99+
    2022-11-13
  • SpringBoot项目如何集成FTP
    小编给大家分享一下SpringBoot项目如何集成FTP,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!FTP相关软件安装我在此就不介绍如何安装FTP了,但是我可以推荐给大家一些软件作为选择。Linux版本,推荐使用vsft...
    99+
    2023-06-25
  • 项目中使用Typescript封装axios
    目录写在前面基础封装拦截器封装类拦截器实例拦截器接口拦截封装请求方法取消请求准备工作取消请求方法的添加与删除取消请求方法测试测试请求方法测试取消请求写在最后写在前面 虽然说Fetch...
    99+
    2022-11-13
  • vue项目中如何使用typescript
    本篇内容主要讲解“vue项目中如何使用typescript”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue项目中如何使用typescript”吧!1、引入Typescriptnpm ...
    99+
    2023-06-21
  • TypeScript中集成Tween.js踩坑记录
    目录TypeScript集成Tween.js踩坑安装更改配置引用Tween.js的使用方法总结TypeScript集成Tween.js踩坑 首选,采用的是webpack的架构,在ts...
    99+
    2023-01-28
    TypeScript集成Tween.js TypeScript集成Tween.js踩坑 TypeScript Tween.js踩坑
  • Spring Cloud集成项目有哪些
    这篇文章主要讲解了“Spring Cloud集成项目有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud集成项目有哪些”吧!Spring Cloud Config配置...
    99+
    2023-06-05
  • SpringBoot项目里怎么集成Hibernate
    本篇内容介绍了“SpringBoot项目里怎么集成Hibernate”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Spring Boot项...
    99+
    2023-07-05
  • 在TypeScript项目中进行BDD测试
    目录什么是BDDGherkin语法给TypeScript项目配置BDD测试框架Cucumber.js什么是BDD BDD(Behavior-Driven Design)是软件团队的一...
    99+
    2022-11-13
  • React项目中应用TypeScript的实现
    目录一、前言 二、使用方式 无状态组件 有状态组件 受控组件 三、总结 一、前言 单独的使用typescript 并不会导致学习成本很高,但是绝大部分前端开发者的项目都是依赖于框架...
    99+
    2022-11-12
  • 在React项目中使用TypeScript详情
    目录项目目录及ts文件划分在项目中使用TypeScript具体实践组件声明React Hooks使用useStateuseRefuseCallbackuseMemouseContex...
    99+
    2022-11-13
  • Django项目中如何集成日志模块?
    Django是一个流行的Python Web框架,用于快速开发Web应用程序。在开发Django应用程序时,日志模块是非常重要的。它可以帮助开发人员在应用程序运行时记录和跟踪事件,从而更好地了解应用程序的行为和性能。 本文将介绍如何在Dja...
    99+
    2023-09-04
    日志 javascript django
  • Node.js项目中如何使用Koa2集成Swagger
    这篇“Node.js项目中如何使用Koa2集成Swagger”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js项目...
    99+
    2023-07-05
  • Vue.js项目中怎么集成WEUI组件库
    这篇文章主要介绍了Vue.js项目中怎么集成WEUI组件库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue.js项目中怎么集成WEUI组件库文章都会有所收获,下面我们一起来看看吧。一、安装WEUI在使用 W...
    99+
    2023-07-05
  • 如何在 ASP.NET 项目中集成 npm 和 bash?
    在 ASP.NET 项目中集成 npm 和 bash 是一个非常有用的技能,因为它允许您在开发过程中更轻松地管理和安装依赖项,而不必手动下载和安装它们。在本文中,我们将介绍如何在 ASP.NET 项目中集成 npm 和 bash,并提供一些...
    99+
    2023-08-20
    响应 npm bash
  • SpringBoot项目里集成Hibernate的示例
    目录在Spring Boot项目中集成Hibernate前言1.引入依赖2.配置数据源3. 创建实体类4.创建Repository5.编写业务代码6.编写控制器,处理http请求7....
    99+
    2023-05-14
    SpringBoot集成Hibernate SpringBoot Hibernate
  • Swift项目集成QQ授权登录
    首先参考官网文档:https://wiki.connect.qq.com/sdk下载 由于QQ官网文档介绍很xxx,建议优先集成微信,微信文档很全。这样可以避免QQ一些坑。 下面...
    99+
    2022-06-06
    swift QQ 授权登录
  • SpringBoot项目集成Flyway详细过程
    目录一、Flyway二、流程2.1 导入依赖2.2 配置yml2.3 创建sql脚本2.4 启动项目2.5 常见问题一、Flyway Flyway是独立于数据库的应用、管理...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作