前言

目前,ES6标准逐渐成为主流,然而一些旧的浏览器,对于ES6的支持并不十分完善,这时候就需要将ES6转为ES5,以兼容旧的浏览器。
Webpack是一个现代 JavaScript 应用程序的静态模块打包器,功能上非常的强大,相关的工具和插件也极其丰富。本文就利用Webpack将Typescript Es6项目编译并打包为JavaScript ES5 Bundle文件。

使用工具

  • Webpack --主要的打包工具
  • Typescript --typescript编译器
  • ts-loader --typescript编译器
  • traceur-loader --ES6转ES5工具
    安装过程这里就跳过了,下面是package.json的配置参考
{"name": "testlayav2ts1","version": "1.0.0","description": "","main": "index.js","bin": {"testlayav2ts1": "index.js"},"scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {},"devDependencies": {"traceur-loader": "^0.6.3","ts-loader": "^9.4.1","typescript": "^4.8.4","webpack": "^5.75.0","webpack-cli": "^4.10.0"}
}

配置webpack.config.js

配置参考如下:

var path = require("path");
module.exports = {mode: "development",entry: "./src/Main.ts",output: {path: path.resolve(__dirname, "bin/js"),filename: "bundle.js"},resolve: {extensions: [".ts", ".tsx"]},module: {rules:[{ test: /\.tsx?$/, use: "traceur-loader" },{ test: /\.tsx?$/, use: "ts-loader" }]},target: "web",devtool: "source-map"
}

配置说明: mode -> 模式,分开发模式和生产模式,这里配置的是开发模式,开发模式下生成的代码可读性很强
entry -> 入口文件,Webpack利用入口文件分析所有的文件依赖
output -> 输出配置, path为路径地址,filename为文件名
resolve -> 决定那些文件可以被解析
module.rules -> 配置loader,Webpack可以利用配置的loader对文件进行预处理,将we年从不同语言不同模块转换为需要的JavaScript,然后再打包。这里我们用ts-loader编译ts文件,traceur-loader将ES6转换为ts5。
注意:loader的执行顺序是安装配置的loader相反的顺序执行的,按照上面的配置,先执行ts-loader,再执行traceur-loader
配置好后,在项目根目录下执行npx webpack,即可看到项目已经打包为ES5 Bundle文件。

使用Webpack打包Typescript ES6项目(转ES5)相关推荐

  1. webpack之配置es6转换成es5

    webpack之配置es6转换成es5 为什么要将代码中的es6语法转换成es5语法呢?这是因为有些浏览器无法识别es6语法.而webpack在不借助babel的情况下,只能对js进行打包处理,无法将 ...

  2. 创建基于webpack打包的vue项目

    创建基于webpack打包的vue项目 结合win7.element-ui.vue(vue-router.vue-cli).webpack等技术,完成了项目的基础工作.难则不会,会则不难:贵在经验总结 ...

  3. webpack打包普通html项目,webpack打包处理

    简介 ?webpack 是前端最流行的打包工具,能够做到以下: 1) 将 sass/less 等预编译的CSS语言 转化为 浏览器能够识别的 css 文件 2 )能够将多个文件(比如:多个sass文件 ...

  4. webpack打包vue2.0项目时必现问题

    [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available ...

  5. [one day one question] webpack打包压缩 ES6 js、.vue报错

    问题描述: 报错: ERROR in js/test.js from UglifyJs Unexpected token punc ?(?, expected punc ?:? [js/test.js ...

  6. webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc «(», expected punc

    转载于:https://www.cnblogs.com/mafeng/p/7787619.html

  7. webpack打包VUE项目读取外部配置文件,灵活配置域名

    参考方案一 作为一个兼职前端和运维的java程序员,今天我司测试人员提出了一个需求,当后台服务地址ip地址改变后,webpack打包的VUE项目得更改地址重新打包,太麻烦了,最好可以读取外部配置文件的 ...

  8. webpack打包工具

    文章目录 前言 一.yarn包管理工具 二.webpack 1.webpack的基本概念 2.webpack的使用步骤 3.webpack开发服务器 前言 简介:webpack是node的第三方模块包 ...

  9. webpack打包配置

    在网页中会引用那些常见的静态资源? js .js .jsx .coffee .ts(Typescript 类 C#语言) css .css .less .sass .scss images .jpg ...

最新文章

  1. BZOJ-3110-K大数查询-ZJOI2013-暴力
  2. spring mvc 接收List数组类型参数
  3. [css] 为什么说css的选择器是从右向左匹配?
  4. 程序员出差是去干什么_让我来告诉你,35岁以上的人都在干什么!
  5. c++指定枚举占一个字节
  6. 天津大学计算机非全日制录取名单,天津大学法律硕士拟录取名单(非全日制).xls...
  7. Android开发学习之路-PopupWindow和仿QQ左滑删除
  8. msvcp140.dll缺失
  9. Linux下安装jboss并设置自启动服务
  10. C语言下取整下半个方括号,c语言易错知识点总结[工作范文](28页)-原创力文档...
  11. 第十三章 确定性策略梯度(Deterministic Policy Gradient Algorithms,DPG)-强化学习理论学习与代码实现(强化学习导论第二版)
  12. 优化算法(一)—— 模拟退火算法(SA算法) 实战
  13. 虎年全新姓氏头像制作多模板微信小程序2022新版头像制作源码支持多种流量主模式亲测
  14. oracle取差集效率如何,Oracle Minus 取差集
  15. 图片转成pdf格式怎么转?三个好用的方法教给你
  16. 第15周项目二—洗牌(1)
  17. Mysql错误Error writing file ‘/home/tmp/xxxx’ (Errcode: 28)的解决方法
  18. 阿里巴巴微服务开源项目盘点
  19. 计算机显示无法打开打印机,添加打印机时电脑弹出错误窗口“Windows无法打开添加打印机”(适用 Windows OS)...
  20. 临床辅助系统CDSS程序

热门文章

  1. Python程序计时
  2. excel 甘特图制作(详细)
  3. 百度地图 实现指定区域外添加遮罩效果 适用全省市
  4. 汕头大学计算机专业荣誉,广西考生进入汕头大学要超一本线三四十分,但我想学的计算机专业在全国排名很低,真不知汕大的这专业有啥...
  5. 乔布简历:谁说我只是个简历模板库?
  6. [激光原理与应用-44]:《焊接质量检测》-1- 焊接质量阶段性检测
  7. 电工配线端接实训装置-楼宇智能实训室
  8. 【华为手机】如何关闭/卸载下滑出现的智慧搜索
  9. [附源码]计算机毕业设计大学生创新项目管理系统Springboot程序
  10. 联想小新700的win10系统uefi引导启动总是蓝屏,太恶心了