TypeSciprt webpack配置
初始化
- 初始化项目
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
TypeSciprt webpack配置的更多相关文章
- [webpack] 配置react+es6开发环境
写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...
- webpack配置详解
webpack配置详解 先点个赞吧,再挨个点下面的连接,觉得不值这个赞的回来骂我啊. Webpack傻瓜式指南(一) Webpack傻瓜指南(二)开发和部署技巧 Webpack傻瓜式指南 原生的官网详 ...
- Webpack配置示例和详细说明
/* * 请使用最新版本nodejs * 默认配置,是按生产环境的要求设置,也就是使用 webpack -p 命令就可以生成正式上线版本. * 也可以使用 webpack -d -w 命令,生成用于开 ...
- vue-cli#2.0 webpack 配置分析
目录结构: ├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-s ...
- webpack配置这一篇就够
最近看了一篇好文,根据这个文章重新梳理了一遍webpack打包过程,以前的一些问题也都清楚了,在这里分享一下,同时自己也做了一些小的调整 原文链接:http://www.jianshu.com/p/4 ...
- webpack配置报错:invalid configuration object.webpack has been initialisted using a configuration objcet that does not match thie API schema
最近接收了别人的项目,webpack配置总是报错如下:最后找到了解决办法,在此分享一下: 错误情况: 解决办法: 将package.json里面的colors删除掉即可
- 前端工程化(二)---webpack配置
导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord 继续上一遍的配置,本节主要记录 ...
- vue全家桶安装以及修改webpack配置新增vue项目启动方式
一.安装node环境(自带npm) 下载地址 二.替换下载源 // 淘宝 NPM 镜像 npm install -g cnpm --registry=https://registry.npm.taob ...
- vue-cli中webpack配置详解
vue-cli是构建vue单页应用的脚手架,命令行输入vue init <template-name> <project-name>从而自动生成的项目模板,比较常用的模板有we ...
随机推荐
- 布尔值与比较运算符"=="
$man = "男";$flag = $man == "男"; //双等号是比较运算符,返回布尔值,成立则返1赋给$flag 不成立返回0,0即为nullech ...
- [题解]Codeforces Round #519 - D. Mysterious Crime
[题目] D. Mysterious Crime [描述] 有m个n排列,求一共有多少个公共子段. 数据范围:1<=n<=100000,1<=m<=10 [思路] 对于第一个排 ...
- Tabluea、Smartbi可视化仪表盘创建流程图分享
你知道Tableau.Smartbi在可视化仪表盘制作步骤上有何差异吗?下面一起来了解吧~ 根据上面的流程图我们可以了解到,不同于Smartbi是在同一界面即可完成的,Tableau是由很多个工作表组 ...
- 在服务器的docker里 装anacond3深度学习环境的全流程超基础
背景: 实验室给我分配了一个服务器 已经装好了docker 和nvidi docker . 现在我的目标是创建我自己的docker 然后在我自己的docker里装上anaconda环境. 我以前从 ...
- angular项目grunt serve报错Cannot find where you keep your Bower packages
运行angular项目grunt serve一直报错,截图如下: 无法找到报错Bower包的位置. 解决方法: 1.全局安装bower npm install bower -g 2.检查是否安装成功 ...
- if 、whitch、for、while
if 用于过程的判断 whitch用于值得判断 if { } else if { } else if //当此前的过程满足条件时,程序便不再判断其他过程,但是if{}if{}这样的写法程序会将每个过 ...
- Tableau绘图一热图、日历图、人口金字塔、标靶图、凹凸图、帕累托图
Tableau绘图一热图.日历图.人口金字塔.标靶图.凹凸图.帕累托图 本文首发于博客冰山一树Sankey,去博客浏览效果更好.直接右上角搜索该标题即可 一.热图 例子:示例超市 可以通过更改颜色来改 ...
- JZ-057-二叉树的下一个结点
二叉树的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 题目链接: 二叉树的下一个结点 代 ...
- SpringMVC入门二:SSM整合(spring+springmvc+mybatis)
一.编程步骤 1.引入依赖 spring.springmvc.mybatis.mybatis-spring.mysql.druid.log4j.servlet-api.jstl.fastjson 2. ...
- ws请求定时
heartChechInit() { const _this = this; // 设置统筹管理 let heartCheck = { timer: ...