typescript+webpack+webpack-dev-server结合在网页中运行

高通QCOM Camera Pipeline 可视化工具:从XML到交互式图谱的工程实践 本文详细介绍了高通QCOM Camera Pipeline可视化工具的工程实践,旨在解决Camera驱动与算法工程师在解析复杂XML配置文件时的痛点。该工具能将静态的XML文件(如g_camx_usecase.xml)自动转换为交互式视觉图谱,通过分层布局算法清晰展示Pipeline、Node、Port和Link的拓扑关系,并支持悬停查看、拖动缩放等交互操作,极大提升了开发调试与架构理解的效率。 阅读详情

今天我们要把typescript结合前端构建工具(webpack)来运行。

前面我们的案列(User类),我们已经在终端下运行过(node.js环境下),没有问题。

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// 引入
var User_1 = require("./User");
var UserService_1 = require("./UserService");
// 实例化类
var myUser = new User_1.User({
    userName: "jack",
    userAge: 22
});
var myService = new UserService_1.UserService(myUser);
console.log(myService.add());

index.js的代码。index.js是index.ts编译之后的文件。
这样的代码是肯定不能在网页里运行的。
比如我们有个index.html,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- 引入编译之后的js文件 -->
<script src="./built/index.js"></script>
</body>
</html>

那么怎么办?
借助一些构建工具,比如webpack。

1、安装webpack和ts-loader

#进入项目根目录 执行
npm install webpack ts-loader --save-dev

2、创建webpack配置文件webpack.config.js

https://webpack.github.io/docs/configuration.html
https://tslang.cn/docs/handbook/integrating-with-build-tools.html

module.exports = {
    entry: {
        "index":"./src/index.ts" // 入口文件可以多个
    },
    output: {
        filename: "[name].js",  // 这里会自动生成index.js
        path:__dirname+"/built" // 输出到哪个文件夹
    },
    resolve: {
         extensions: [".ts",".js"]     // 自动补全,很重要
    },
    module: {
        loaders: [
            { test: /\.ts$/, loader: "ts-loader" }   // 使用了ts-loader
        ]
    }
};

3、修改node配置文件package.json

给scripts锻加一项

    "wp":"webpack"

执行npm run wp命令就会默认去找webpack配置文件。

4、我们执行一次webpack

npm run wp

这个时候生成的新的/built/index.js就可以在浏览器使用了。

ok。其实到这里typescript+webpack结合,然后使得程序可以在网页中运行就算完成了。

webpack-dev-server

因为每次修改都需要重新『编译』,如果项目很大,编译就比较慢了。
所以webpack-dev-server就可以发挥作用了。
使用webpack-dev-server,我们一遍修改代码,webpack一边默默的『编译』。

1、安装

#根目录下 执行
npm install webpack-dev-server --save-dev

2、在根目录下新建一个配置文件,比如叫webpack.config.dev.js

module.exports = {
    entry: {
        "index":"./src/index.ts" // 入口文件可以多个
    },
    output: {
        filename: "[name].js",  // 这里会自动生成index.js
        publicPath: "/" // 我们这就生成到根目录
    },
    resolve: {
        extensions: [".ts",".js"]    // 自动补全,很重要
    },
    module: {
        loaders: [
            { test: /\.ts$/, loader: "ts-loader" }   // 使用了ts-loader
        ]
    }
};

3、其他配置
在项目配置文件package.json文件的scripts段,添加一项:

   "wp-dev": "webpack-dev-server --config webpack.config.dev.js --inline --hot --content-base ./webapp"

可以看出wp-dev命令,使用的是webpack.config.dev.js这个配置文件,内容基于webapp这个文件夹。
所以我们还需要在目录文件一个webapp目录,里面新建一个index.html:

<script src="index.js"></script>

我们在webpack.config.dev.js这个配置文件中,webpack热编译的index.js是在根目录(实质在内存)。

4、开启webpack热编译

npm run wp-dev

如果没有报错,就是成功。

根据提示我们应该访问:http://localhost:8080/index.html

之后,我们修改.ts代码,页面上就会马上表现出效果了,不需要再去执行编译命令了。
这在我们开发阶段真是省时省力啊。

win11 使用 QEMU 配置龙芯 3A5000 虚拟环境 阅读详情

相关推荐

XS5018A TX ISP芯片同轴高清模拟输出图像处理芯片用户指南

当看门狗开启且系统异常,看门狗模块得不到喂狗信号时,自动产生看门狗复位信号,复位​​​​​​​。分量上与人眼对光谱的响应通常是有偏差的,通常通过一个色彩校正矩阵校正光谱响应的交叉效。但实际上由于电路的作用,复位模块对整个芯片及各个功能模块的复位进行统一管理,负责产生各个模块的软复位信。每个区域前景色可以在 16 个色表中查找,单个区域的前景色统一,各个区域的前。较弱的坏点被放大成刺眼的白点和明显的黑点,强烈推荐开启动态坏点校正功能。四种制式,通过寄存器配置,可以很方便的实现四种制式的切换、且可以对截止。

2403_88922712的博客 1959

webpack开发配置(webpack.base.js/webpack.dev.js/webpack.prod.js)

项目初始结构分析通常项目会分成三个运行环境:开发人员在本地跑的开发环境(dev)、测试人员用来做黑盒测试的测试环境(test)和线上运行的生产环境(production)。 简单起见,本文只考虑开发环境(dev)和生产环境(prod),测试环境可以自行类比。 综上,webpack的配置需要有两套,同时两套配置必然会存在相同的部分,故新建目录与文件如下图: folder 同时引入一个库webpack-

kingov 1万+

Android逆向实战:用Xposed Hook微信消息发送(附完整代码)

本文提供了一份Android逆向实战指南,详细讲解如何使用Xposed框架Hook微信消息发送功能。内容涵盖环境搭建、逆向分析定位关键方法、编写Hook模块代码以及调试部署的全过程,并附有完整代码示例,帮助开发者深入理解Android应用底层交互与Hook技术。

weixin_29196315的博客 1117

用 Typescript 搭建 Nodejs Server

基于koa2, routing-controllers 搭建 nodejs server,并且使用 typescript 语言进行开发

3039

【100%通过率】华为OD机试真题 Python 实现【高矮个子排队】【2023 Q2 | 100分】

我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或者相等;要求小朋友们移动的距离和最小,第一个从“高”位开始排,输出最小移动距离即可。移动距离的定义如下所示:第二位小朋友移到第三位小朋友后面,移动距离为1,若移动到第四位小朋友后面,移动距离为2。现在有一队小朋友,他们高矮不同,,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。1:其实题目理解之后就知道,目标是要保证最小移动距离,且以高位为起点。2:try catch 异常处理。

MISAYAONE的博客 3144

用webpack打包运行TS详细教程

首先下载依赖,在集成终端打开后: npm init -y tsc --init 产生对应的ts.config.js文件 npm install -D typescript npm install -D webpack@4.41.5 webpack-cli@3.3.10 npm install -D webpack-dev-server@3.10.2 启动开发服务器的 npm install -D html-webpack-plugin@4.0.0-alpha cl...

欣欣酱博客 3649

uniapp - 详细解决 H5 网页报错 Uncaught Error: Async component timed out after ? ms.(移动端h5页面白屏或加载缓慢失败,超时报错处理)

uni-app,vue3,网页,h5,移动端,手机H5页面,浏览器,报错,uniapp报错,Asynccomponenttimedoutafter,如何解决这个问题,vue3Asynccomponenttimedoutafter,异步组件超时了怎么办,async,详细解决方案,AsyncComponents异步组件,导致页面打不开了,白屏什么也不显示,网页载入非常慢卡顿,vue3网站报错,超时,nuxt3,详细解决方案,浏览器控制台报错,爆红并且页面卡住了,依旧报错,找不到异步组件的报错

🏆 前端领域优质创作者 3773

webpack.dev.conf.js详解

webpack.dev.conf.js详解 转载自https://www.cnblogs.com/ye-hcj/p/7087205.html 1.1 说明 此配置文件是vue开发环境的wepack相关配置文件 关于注释 当涉及到较复杂的解释我将通过标识的方式(如(1))将解释写到单独的注释模块,请在1.3中查看 1.2 代码配置 // 引入当前目录中的utils工具配置文件 // 请自行查看我博客中的utils.js的相关文章 var utils = require('./utils')...

xuyizhuo的博客 4598

SQL基础:HQL之常用的行列转换应用总结

行列转换是数据开发者的基本技能,也是面试重点,在数据开发中处处可见,本文对常见的几种情况进行了总结,包括了多行转多列,多行转单列,多列转多行,单列转多行的几种情况,并给出了解决思路和方法,读者可根据本文给出的思路灵活应对业务中遇到的问题。

石榴姐yyds 1799

File Load Error for Untitled.ipynb Unhandled error 解决方案

本文主要介绍了File Load Error for Untitled.ipynb Unhandled error 解决方案,希望能对使用jupyter notebook的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

【TS】快速上手(五)使用webpack配置TS项目

实际开发中我们都需要使用构建工具对代码进行打包,TS同样也可以结合构建工具一起使用,今天我们以webpack为例介绍一下如何结合构建工具使用TS。

YK菌的博客 3548

Android系统开发面试指南:系统Launcher岗位解析

本文针对上海礼聪Android系统开发岗位(侧重系统Launcher、充电/电池/USB底层开发)提供面试指南。内容涵盖应用开发(启动流程优化)、系统底层(充电状态机、USBOTG)、编程能力(线程安全LRU实现)、问题排查(ANR分析)及沟通协作等核心考点。通过5类典型问题及技术深度解析,帮助候选人系统准备,重点考察Framework源码理解、系统调试能力和工程思维。建议结合PowerManagerService等模块源码和systrace工具进行实践准备,同时注重技术表达与协作能力的展现。

郑伟强dev的专栏 927

Three.js-TypeScript-Boilerplate开发与生产环境全差异对比:webpack-dev-server与Express静态服务指南

Three.js-TypeScript-Boilerplate 是一款基于 Three.js 与 TypeScript 的三维网页开发样板项目,内置了完整的双环境构建方案:开发环境使用 **webpack-dev-server** 提供热更新,生产环境使用 **Node.js + Express 静态服务** 托管构建产物。它默认展示一个可拖拽旋转的绿色线框立方体(含 OrbitControls

gitblog_00660的博客 926

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Webpack打包及npm介绍安装和webpack-dev-server热加载

Webpack 是一个前端资源的打包工具,它可以将js、image、css等资源当成一个模块进行打包 从图中我们可以看出,Webpack 可以将js、css、png等多种静态资源 进行打包,使用webpack有什么好处呢? 1、模块化开发 程序员在开发时可以分模块创建不同的js、 css等小文件方便开发,最后使用webpack将这些小文件打包成一个文 件,减少了http的请求次数。 webpac...

长风的博客 2057

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WebPack 创建typescript项目

webpack 创建typescript项目,用于学习typescript语言

YUELEI118的博客 1019

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TypeScript入门到入土(3)webpack打包ts代码

介绍用webpack打包ts的过程,以及需要的各种插件的安装,引入,以及配置,另外还有babel的安装及配置

Yajyaj123的博客 529

webpack搭建react项目步骤实现

文章目录 提示:本文篇幅较长,请耐心看完哦~ 本篇文章是介绍基于React和webpack搭建的一套完整项目流程,开始吧。 文章目录文章目录前言一、项目创建1.全局安装react2.本地新建react项目文件二、安装相关组件1.安装react, react-dom, webpack2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面

m0_48164934的博客 761

webpack入门知识(一)webpack、webpack-dev-server、html-webpack-plugins和loader的配置

为什么要使用webpack 前置知识 nrm:提供了一些最常用的NPM包镜像地址,能够让我们快速切换安装包时候的服务器地址。 npm install nrm -g nrm ls //查看镜像列表 nrm use taobao //使用这个镜像 nrm use cnpm //使用这个镜像 nrm use npm //使用这个镜像 ! nrm只是提供了几个常用地URL地址,并能够让我们在这几个地址之间切换。但是我们每次装包的时候使用的装包工具都是npm。 在网页中会引用哪些常见的静态资源? JS

qq_34466755的博客 522

把摄像头画面变成3D材质:Three.js-TypeScript-Boilerplate网页摄像头纹理实战教程

Three.js-TypeScript-Boilerplate 是一个开箱即用的 **Three.js + TypeScript** 全栈 3D 开发模板,自带 webpack 构建、热更新与 Express 生产部署。本文将带你快速上手这个模板,把**摄像头画面变成实时 3D 材质**(Webcam 纹理),几分钟就能在浏览器中做出一个跟随摄像头实时变化的交互式 3D 场景 🎥。 [![Th

gitblog_00943的博客 687

使用webpack打包ts代码

此时的html模板是自动生成的,那我们如果说想要他生成的时候按照自己定义的结构来生成,此时就需要我们在src下自己创建一个html,然后配置之后,打包时他就会根据我们已有的模板进行生成。配置好后,我们要想对ts进行编译,还需要定义一个ts的编译规范,所以还需要创建一个 tsconfig.json,我们简单设置几个属性。假如我们要在一个ts文件里面引入另一个ts文件中的变量,此时ts是作为模块被引入的,但是webpack并不知道,这时候运行时会报错,并且实时更新的,我们改一个东西,浏览器就会自动刷新。

蜗牛~~ 1396

【TS】使用webpack打包 ts 代码

本文章主要介绍了如何 初始化项目、下载构建工具,在根目录下创建 webpack 的配置文件 webpack.config.js。修改package.json添加配置,以及进行编译启动开发服务等。

Eliaukoyx 917

5.使用webpack打包ts代码

使用webpack打包ts代码

qq_44871797的博客 560

webpack打包基本配置

webpack打包基本配置 安装webpack及相关基本包 yarn add -D webpack webpack-cli typescript // 自动生成html文件 yarn add -D html-webpack-plugin // 内置服务器,热更新 yarn add -D webpack-dev-server // 每一次编译前清空dist yarn add -D clean-webpack-plugin webpack.config.js // 引入一个包 const path =

Y____X的博客 551

使用webpack创建工程脚手架

什么是webpack: 模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。 (这里可以去度娘查一下具体的解释) 1.生成模块 安装node.js 创建工作目录webpack01 安装webpack:npm install webpack@3.12.0 –g (npm install之后会安装一些项目依赖的包在node_modules文件夹内); 模块

泡沫在飞的博客 506

Jasna 免费本地视频马赛克修复:3 步跑起来的完整教程

修复一段马赛克视频只要 3 个动作:把文件拖进窗口、点右下角 ▶、等输出文件。Jasna 是一款免费、开源的视频马赛克修复工具,全程跑在你自己的 GPU 上,视频不出你的电脑。 ## 🎮 能不能跑:先查你的显卡 上手前先把底线摸清楚。直接出局的那类人很明确:**NVIDIA GTX 10 系及更老的卡完全不行**,网络盘也不支持。 - NVIDIA:**GTX 16 系 / RTX 20

gitblog_00878的博客 146
上一篇: typescript速学:类、模块化编程
下一篇: PHP经典设计模式 - 依赖注入
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值