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-cli
webpack
的命令行工具
webpack-dev-server
webpack
的开发服务器
typescript
- ts编译器
ts-loader
ts
加载器,用于在webpack
中编译ts
文件
html-webpack-plugin
webpack
中html
插件,用来自动创建html
文件
clean-webpack-plugin
webpack
中的清除插件,每次构建都会先清除目录
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/core
babel
的核心工具
@babel/preset-env
babel
的预定义环境(里面预置了许多环境[浏览器环境如火狐,ie等]
)
@babel-loader
babel
在webpack
中的加载器,与之结合使用
core-js
core-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许可协议。转载请注明来自 肥林の仓库