灵心如玉,守一生无惧|

SadicZhou

园龄:3年2个月粉丝:7关注:4

ts10_使用webpack打包ts文件3

1.为了让编译后的JS文件能给兼容更多的浏览器我们还需要配置babel

运行命令npm i -D @babel/core @babel/preset-env babel-loader core-js来安装相关插件

2.安装完成之后在webpack.config.js的module选项的rule下进行配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
rules: [
          {
              //指定规则生效的文件
              test: /\.ts$/,
              //要使用的loader,执行顺序从后往前
              use: [
                  {//配置babel
                      //指定加载器
                      loader: "babel-loader",
                      //设置babel
                      options: {
                          //设置预定义环境
                          presets: [
                              [
                                  //指定环境插件
                                  "@babel/preset-env",
                                  //配置信息
                                  {
                                      //要兼容的目标浏览器
                                      targets: {
                                          "chrome": "88",
                                          "ie":"11"
                                      },
 
                                      "corejs": "3",//指定core.js的版本
                                      //使用core.js的方式
                                      "useBuiltIns": "usage",//"usage"表示按需加载
 
                                  },
 
 
                              ]
                          ]
                      }
 
                  },
                  "ts-loader"
              ],
              //指定要排除的文件
              exclude: /node_modules/,
 
          }
      ]

  配置完成之后进行打包可以看到打包后的文件语法由ES6变成了低版本的语法

  

 

 放开corejs的配置后出现下面错误

 

 

 

 经检查发现是引用模块设置的时候.js文件没设置好导致打包的时候无法引入外部的JS模块

 

 

 

 解决之后我们重新打包发现打包后的代码里面有箭头函数这样还是无法兼容到IE11的

 

 

 这时候我们需要修改一下webpack的output配置选项的environment下的arrowFunction为false即可

1
2
3
4
5
6
7
8
9
10
11
output: {
       //指定打包文件的目录
       // path:'./dist'
       path: path.resolve(__dirname, 'dist'),
       //打包后文件的文件名
       filename: "bundle.js",
       environment:{
           //配置打包的环境
           arrowFunction:false//告诉webpack不使用箭头函数
       }
   },

  再次打包发现箭头函数转换为了普通函数

 

 

这样整个webpack就配置好了
 
 
 
 
 
 
 
 
 

本文作者:SadicZhou

本文链接:https://www.cnblogs.com/SadicZhou/p/17002956.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SadicZhou  阅读(58)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
  2. 2 孙燕姿
  3. 3 克卜勒 孙燕姿
- 孙燕姿
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.