【小白入门】 浏览器如何识别Typescript?

简介: 【10月更文挑战第1天】浏览器如何识别Typescript?

初识 TypeScript

TypeScript 的介绍

TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6+ 的支持。

TypeScript 的特点

  • 始于JavaScript,归于JavaScript

TypeScript 可以编译出纯净、 简洁的 JavaScript 代码,并且可以运行在任何浏览器上、Node.js 环境中和任何支持 ECMAScript 3(或更高版本)的JavaScript 引擎中。

  • 强大的类型系统
  • 先进的 JavaScript

安装

命令行运行如下命令,全局安装 TypeScript:

npm install -g typescript

安装完成后,在控制台运行如下命令,检查安装是否成功(3.x):

tsc -V

TypeScript的编译

手动编译代码

我们创建一个基本的Ts项目

index.ts中

(function(){
   
    function sayHi(str:string){
   
        return "你好啊" + str
    }
    let text = "小甜甜1"
    console.log(sayHi(text))
})()

html文件中:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script src="./index.js"></script>
    </body>
</html>

由于浏览器不认识ts文件,因此,我们需要将index.ts编译成index.js才行。

在命令行终端,运行 TypeScript 编译器:

tsc index.ts

输出结果为一个 index.js 文件,此时浏览器就可以正确识别这个文件了。

编译后的名称可以通过tsconfig.json更改

vscode自动编译

在vscode中,我们可以实现自动编译代码。首先,在项目中通过命令行创建tsconfig.json配置文件

tsc --init

然后在tsconfig.json修改配置

{
   
  "compilerOptions": {
   
    "outDir": "./js",      //配置编译后的代码输出目录
    "strict": false,       //关闭ts检查的严格模式
  },
}

最后启动编译器的监视任务

依次点击编译器【终端】 -> 【运行任务】

image.png

搜索tsconfig.json,选择 监视tsconfig.json 即可!

image.png

打包工具自动编译

webapck、vite、rollup等打包工具通过配置都能够识别ts文件,帮我们打包生成js文件。因此,在这些工具中,我们不需要使用typescript自己的编译工具 tsc xxx.ts

使用webpack打包Ts程序

我们创建一个基础的项目,下载相关依赖

//安装ts
npm install -D typescript
//安装webpack及其打包工具
npm i -D webpack@4.41.5 webpack-cli@3.3.10
//安装热启动服务
npm i -D webpack-dev-server@3.10.2
//安装html模板工具及清除上一次打包好的js文件的工具
npm i -D html-webpack-plugin@4.5.0 clean-webpack-plugin@3.0.0
//ts打包工具
npm i -D ts-loader@8.0.11
// 跨平台的环境变量兼容插件
npm i -D cross-env@7.0.2

注:不指定版本,可能会导致项目运行出错!!!!

cross-env介绍:https://www.yuque.com/persagy/mkk933/qycy0e

生成tsconfig.json配置文件

tsc --init

webpack.config.js中配置如下

const path = require('path')
const htmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
   
  entry: './src/index.ts',
  mode: 'development',
  output: {
   
    path: path.resolve(__dirname, './dist'),
    filename: 'index.js'
  },
  stats: 'none',
  resolve: {
   
    extensions: ['.ts', '.js'],
    alias: {
   
      '@': path.resolve(__dirname, './src')
    }
  },
  module: {
   
    rules: [
      {
   
        test: /.ts$/,
        use: 'ts-loader'
      }
    ]
  },
  devServer: {
   
    port: 1988,
    proxy: {
   }
  },
  plugins: [
    new htmlWebpackPlugin({
   
      template: './public/index.html'
    })
  ]
}

配置打包命令

"dev": "cross-env NODE_ENV=development webpack-dev-server --config build/webpack.config.js",
"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"

打包

npm run dev
相关文章
|
7月前
|
JavaScript 前端开发
【TypeScript入门】TypeScript入门篇——数据类型
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。
65 3
|
7月前
|
JavaScript 前端开发 编译器
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
134 0
|
7月前
|
编解码 JavaScript 前端开发
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
357 0
|
3月前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
574 1
|
3月前
|
JavaScript 前端开发 编译器
TypeScript,从0到入门带你进入类型的世界
该文章提供了TypeScript的入门指南,从安装配置到基础语法,再到高级特性如泛型、接口等的使用,帮助初学者快速掌握TypeScript的基本用法。
|
6月前
|
JavaScript 前端开发 程序员
typescript入门笔记分享
typescript入门笔记分享
33 0
|
7月前
|
JavaScript 前端开发
TypeScript极速入门笔记1
TypeScript极速入门笔记1
77 4
|
7月前
|
JavaScript 前端开发 开发者
JavaScript基础入门之浏览器控制台调试输出
本文章是对小白学习js的初级教程,也是我对自己学习经验的一种总结,文章大多采用使用案例加讲解,带动学习的方式.因为我们的天性总是喜欢有及时反馈的事物,但是学习是一个慢长的事情,而有结果的回应,才会更好的促进自己去学习,主要是对于javascript学习中的输出,有个大体上的了解,同时通过教学能够更好的使用浏览器来方便我们去学习和运行代码,也是对自己进行笔记整理,对抓住信息关键点的一种提高.
108 0