Typescript学习笔记(4)-webpack结合Typescript使用
webpack结合Typescript使用
- 通常情况下,实际开发中我们都需要使用构建工具对代码进行打包,
TS同样也可以结合构建工具一起使用,下边以webpack为例介绍一下如何结合构建工具使用TS。
基本步骤
1. 初始化项目
进入项目根目录,执行命令
npm init -y主要作用:初始化项目,创建
package.json文件
2. 下载构建工具和对应的第三方包
npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader clean-webpack-plugin
共安装了7个包
webpack- 构建工具
webpack
- 构建工具
webpack-cliwebpack的命令行工具
webpack-dev-serverwebpack的开发服务器
typescript- ts编译器
ts-loaderts加载器,用于在webpack中编译ts文件
html-webpack-pluginwebpack中html插件,用来自动创建html文件
clean-webpack-pluginwebpack中的清除插件,每次构建都会先清除目录

3. 根目录下创建webpack的配置文件webpack.config.js
// 1. 引入包 |
package.json
"start": "webpack serve --open chrome.exe":用于运行webpack内置的服务器,实现响应式热加载数据"build":"webpack":运行该指令可以直接进行打包
{ |
tsconfig.json
{ |
结果展示:

babel设置
- 经过一系列的配置,使得
TS和webpack已经结合到了一起,除了webpack,开发中还经常需要结合babel来对代码进行转换以使其可以兼容到更多的浏览器,在上述步骤的基础上,通过以下步骤再将babel引入到项目中。
基本步骤
1. 安装依赖包:
npm i -D @babel/core @babel/preset-env babel-loader core-js共安装了4个包,分别是:
@babel/corebabel的核心工具
@babel/preset-envbabel的预定义环境(里面预置了许多环境[浏览器环境如火狐,ie等])
@babel-loaderbabel在webpack中的加载器,与之结合使用
core-jscore-js是一种运行环境,用来使老版本的浏览器支持新版ES语法
2. 修改webpack.config.js配置文件
// 1. 引入包 |
结果展示:
- 这里存在一个配置项的问题[
environment],因为新版本的webpack基本上已经放弃了对非常老的浏览器版本进行维护了,就是一些不支持箭头函数的老古董级别的浏览器,因为,现在新版的webpack在打包过后会生成一个自调用的一个箭头函数来立即执行代码,就相当创建了一个大的作用域,使得代码在这个作用域中去执行,目的是为了避免代码之间会互相产生干扰! 也就是说,如今版本的webpack在打包使用过后生成的代码会不可避免的带有一个箭头函数(在你没有设置environment配置项的情况下),这对于老古董级别的浏览器是不支持的
在没有使用environment配置项的时候



在使用environment配置项后



总结
- 在
webpack中的use里添加上babel配置项后,使用ts编译后的文件将会再次被babel处理,使得代码可以在大部分浏览器中直接使用,可以在配置选项的targets中指定要兼容的浏览器版本。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库



