初始化

  • 初始化项目

    npm init -y
  • 安装依赖

    npm install ... --save-dev
  • 依赖包列表
名称 作用
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中的清除插件,每次构建都会先清除目录
@babel/core babel核心工具
@babel/preset-env babel预定义环境
babel-loader babel加载器,编译js文件用
core-js 使老版本浏览器兼容新版ES语法

配置

项目根目录创建webapack.config.js & tsconfig.jsoon

1.webpack.config.js

const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin') module.exports = {
// 入口文件
entry: './src/index.ts', // 打包输出目录
output: {
// 指定目录
path: path.resolve(__dirname, 'dist'),
// 输出文件
filename: 'bundle.js',
environment: {
arrowFunction: false // 关闭webpack的箭头函数,可选
}
}, // 指定webpack打包时要使用的模块
module: {
// 加载规则
rules: [
{
// 指定规则生效的文件
test: /\.ts$/,
// loader
use: [
{
loader: 'babel-loader',
options: {
// 设置预定义环境
presets: [
[
'@babel/preset-env', // 指定环境的插件
// 配置信息
{
// 兼容的浏览器目标版本
targets: {
'chrome': '58',
'ie': '11'
},
// 指定core.js版本
'corejs': '3',
// 使用corejs方式 'usage':按需加载
'useBuiltIns': 'usage'
}
]
]
}
},
{
loader: 'ts-loader'
}
],
// 要排除的文件
exclude: /node_modules/
}
]
}, // 设置引用模块
resolve: {
extensions: ['.ts', '.js']
}, // 插件
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
template: './src/index.html'
})
]
}

2.tsconfig.json

{
"compilerOptions": {
"target": "es6",
"module": "es6"
}
}

3.package.json

{
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"start": "webpack serve"
}
}

使用

  • 启动开发环境: npm run start
  • 编译打包: npm run build

最新文章

  1. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
  2. how to use ldid
  3. UIImageView的图片居中问题
  4. ububtu 14.04 问题集合
  5. HTML 学习进度备忘
  6. Object类型
  7. poj2386Lake Counting
  8. MySQL创建数据库与创建用户以及授权
  9. java之反射
  10. Jmeter之app性能测试(ios,android)
  11. 系统的讲解 - PHP 浮点数高精度运算
  12. oracle11G 用户密码180天修改概要文件过程
  13. opencv学习之路(37)、运动物体检测(二)
  14. mycat 主从切换分析过程
  15. Python的socket
  16. Visual Studio2013 配置opencv3.3.0 x64系统
  17. MT【73】求函数表达式
  18. 【模板】Splay
  19. rest framework错误笔记——身份验证和权限
  20. js签名

热门文章

  1. 自学linux(修改中文)STEP2
  2. php base64格式的图片字符串和图片文件相互转换的代码
  3. tomcat 上传文件权限不足
  4. ssh远程端口转发&&windows系统提权之信息收集&&网安工具分享(部分)
  5. 浅谈MySQL日志文件|手撕MySQL|对线面试官
  6. WPF中常用控件(TreeView, ComboBox, DataGrid, ListView)使用MVVM模式绑定的demo
  7. Mybatis学习笔记(详细)
  8. 鼠标点击的时候出现 "双心心" 的效果
  9. selenium+python自动化104-如何获取隐藏元素text文本
  10. 系统整理qt笔记3