尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
TypeScript - TypeScript 结合打包工具
一、webpack1、引入通常实际开发中我们都需要使用构建工具对代码进行打包TS 同样也可以结合构建工具一起使用2、使用步骤初始化项目创建 package.json 文件npm init -y依赖配置npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader html-webpack-plugin clean-webpack-plugin依赖说明webpack构建工具 webpackwebpack-cliwebpack 的命令行工具webpack-dev-serverwebpack 的开发服务器typescriptTS 编译器ts-loaderTSTS 加载器用于在 webpack 中编译 TS 文件html-webpack-pluginwebpack 中的 HTML 插件用来自动创建 HTML 文件clean-webpack-pluginwebpack 中的清除插件每次项目构建都会先清除目录创建并配置 webpack.config.js 配置文件constpathrequire(path);constHtmlWebpackPluginrequire(html-webpack-plugin);// 引入 HTML 插件const{CleanWebpackPlugin}require(clean-webpack-plugin);// 引入 clean 插件module.exports{// webpack 中的所有的配置信息都写在 module.exports 中entry:./src/index.ts,// 定义入口文件output:{path:path.resolve(__dirname,dist),// 定义打包后文件的所在目录filename:bundle.js// 定义打包后的文件名称},module:{// 定义 webpack 打包时要使用模块rules:[// 定义加载规则{test:/\.ts$/,// 定义规则生效的文件use:[// 定义 loaderts-loader],exclude:/node_modules/,// 定义排除的文件},],},plugins:[// 定义 webpack 插件newCleanWebpackPlugin(),newHtmlWebpackPlugin({// title: Hello TypeScript,template:./src/index.html}),],resolve:{// 定义引用模块extensions:[.ts,.js]},mode:development};创建并配置 tsconfig.json 配置文件{compilerOptions:{target:ES2015,module:ES2015,strict:true}}在 package.json 配置文件中添加如下配置{scripts:{test:echo \Error: no test specified\ exit 1,build:webpack,start:webpack serve --open}}命令行执行对代码进行编译或启动开发服务器npm run buildnpm run start二、Babel1、引入开发中经常需要结合 Babel 来对代码进行转换以使其可以兼容更多的浏览器在 webpack 的基础上需要将 Babel 结合到项目中2、使用步骤依赖配置npm i -D babel/core babel/preset-env babel-loader core-js依赖说明babel/coreBabel 的核心工具babel/preset-envBabel 的预定义环境babel-loaderBabel 在 webpack 中的加载器core-jscore-js 可以使老版本的浏览器支持新版 ES 语法配置 webpack.config.js 配置文件constpathrequire(path);constHtmlWebpackPluginrequire(html-webpack-plugin);// 引入 HTML 插件const{CleanWebpackPlugin}require(clean-webpack-plugin);// 引入 clean 插件module.exports{// webpack 中的所有的配置信息都写在 module.exports 中entry:./src/index.ts,// 定义入口文件output:{path:path.resolve(__dirname,dist),// 定义打包后文件的所在目录filename:bundle.js,// 定义打包后的文件名称environment:{arrowFunction:false,// 不使用箭头函数},},module:{// 定义 webpack 打包时要使用模块rules:[// 定义加载规则{test:/\.ts$/,// 定义规则生效的文件use:[// 定义 loader{// 配置 Babelloader:babel-loader,// 定义加载器options:{presets:[// 定义预定义环境[babel/preset-env,// 指定环境的插件{targets:{// 定义要兼容的目标浏览器chrome:58,ie:11},corejs:3,// 定义 core-js 的版本useBuiltIns:usage// 定义使用 core-js 的方式usage 表示按需加载}]]}},ts-loader],exclude:/node_modules/,// 定义排除的文件},],},plugins:[// 定义 webpack 插件newCleanWebpackPlugin(),newHtmlWebpackPlugin({// title: Hello TypeScript,template:./src/index.html}),],resolve:{// 定义引用模块extensions:[.ts,.js]},mode:development};
RELATED

相关推荐

Boost.Asio异步网络编程实战:从Echo服务端到多线程消息转发

Boost.Asio异步网络编程实战:从Echo服务端到多线程消息转发

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/24 6:54:06
嵌入式基础day07学习笔记

嵌入式基础day07学习笔记

指针的运算指针运算指针运算是以指针所存放的地址作为运算量而进行的指针运算的实质就是地址的计算指针的算数运算指针加上整数,指针减去整数, 指针递增,指针递减和两个指针相减。​ 指针加减一个n的运算: px n px - n​ 移动步长是指针的目标注意不同数…

📅 2026/9/24 6:54:06
中兴B860AV1.1-T2免拆ADB刷机指南

中兴B860AV1.1-T2免拆ADB刷机指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/24 6:54:06
MORE NEWS

更多资讯

📰

工控现货的本质:四层技术校验与系统兼容性保障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

硕博新生入学适应指南:助力学子快速开启新阶段学术成长之路

每次找到心仪的外国文献,却被付费墙冷冷地挡在外面,是不是感觉科研的热情瞬间被浇灭?作为学生党,我太懂这种无力感了。但好消息是,通过几个合法且免费的“通道”和技巧,我们完全能实现“文献自由”。今天分…

📰

LanceDB Node.js 物化视图列选择:深入解析 MaterializedViewSelect 类型别名

向量数据库数据库人工智能后端 【免费下载链接】lancedb Developer-friendly OSS embedded retrieval library for multimodal AI. Search More; Manage Less. 项目地址: https://gitcode.com/gh_mirrors/la/lancedb 点击查看 免费下载 导读 在 LanceDB 的 Node.j…

📰

玩客云刷Armbian部署Home Assistant:低成本智能家居中枢实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

PRQL 的 Raku 语法实现:从 Grammars 定义到形状断言测试的完整指南

后端 【免费下载链接】prql PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement 项目地址: https://gitcode.com/gh_mirrors/pr/prql 点击查看 免费下载 PRQL(Pipelined Relational Query Language&am…

📰

PulseBlaster在NV色心实验中的纳秒级时序控制原理与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬