webpack指南(五)TypeScript
将webpack与TS进行集成。
1. 安装TypeScript 编译器和 loader
npm install --save-dev typescript ts-loader
2. 在package.json同级目录下新建tsconfig.json
{
  "compilerOptions": {
    "outDir": "./dist/",
    "noImplicitAny": true,
  "sourceMap": true,   // 启用SourceMap功能
    "module": "es6",
    "target": "es5",
    "jsx": "react",
    "allowJs": true
  }
}
3. 修改webpack.common.js
module.exports = {
+    entry: {
+        app: './src/index.ts'
+    },
    output: {
        filename: '[name].[chunkhash].js',
        path: path.resolve(__dirname, 'dist')
    },
    module:{
        rules:[
+        {
+                test:/\.tsx?$/,
+                use: 'ts-loader',
+                exclude: /node_modules/
            }
        ]
    },
+    resolve:{
+        extensions:['.ts', '.tsx', '.js']
+    },
}
ts-loader 在这里使用它可以方便地启用额外的webpack功能,例如将额外的web资源导入项目。
4. 三方库的使用
index.ts
// 此处导入必须写成import as, 否则会报错
import * as _ from 'lodash'; function component() {
var element = document.createElement('div'); element.innerHTML = _.join(['hello','webpack'],' '); return element; } document.body.appendChild(component());
当ts文件中使用 npm 安装第三方库时,一定要同时安装这个库的类型声明文件。你可以从 TypeSearch 中找到并安装这些第三方库的类型声明文件。
如:lodash
npm install --save-dev @types/lodash
5. 非代码文件的使用
创建 custom.d.ts 文件,用来编写自定义的类型声明。同样的理念适用于其他资源,包括 CSS, SCSS, JSON 等。
.svg 文件进行声明设置:
declare module "*.svg" {
  const content: any;
  export default content;
}
通过指定任何以 .svg 结尾的导入,将模块的 content 定义为 any,将 SVG 声明一个新的模块。我们可以通过将类型定义为字符串,来更加显式地将它声明为一个 url。
webpack指南(五)TypeScript的更多相关文章
- Swift语言指南(五)--数字字面量和数字类型转换
		
原文:Swift语言指南(五)--数字字面量和数字类型转换 数字字面量 整数字面量写法如下: · 十进制数,无前缀 · 二进制数,以 0b 为前缀 · 八进制数,以 0o 为前缀 · 十六进制数,以 ...
 - webpack中使用typescript
		
概述 这是我学习webpack中使用typescript的记录,供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看中文文档或英文文档,休闲之余可以看这篇TypeScript 总 ...
 - App架构师实践指南五之性能优化二
		
App架构师实践指南五之性能优化二 2018年07月30日 13:08:44 nicolelili1 阅读数:214 从UI和CPU方面来说App流畅体验优化,核心为流畅度/卡顿性能优化. 1.基 ...
 - webpack to package typescript & scss
		
Demo2操作手册 本Demo演示如何配合各种loader进行稍复杂的使用 准备环境 初始化环境, cd到demo目录之后, 执行如下命令: npm init -y npm install webpa ...
 - 转:Webpack 指南(整理 草稿)
		
基础 安装 首先要安装 Node.js, Node.js 自带了软件包管理器 npm.用 npm 全局安装 Webpack: $ npm install webpack -g 通常我们会将 Webpa ...
 - Webpack指南(一):安装,创建项目,配置文件,开发环境以及问题汇总
		
Webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gra ...
 - 教你使用Webpack搭建环境 TypeScript (2)
		
一. 环境搭建1.1. TypeScript环境安装已经配置好的环境,大家可以直接下载:https://github.com/coderwhy/HYLearnTS.git在上一个章节中我们说过,T ...
 - 从零配置webpack(react+less+typescript+mobx)
		
本文目标 从零搭建出一套支持react+less+typescript+mobx的webpack配置 最简化webpack配置 首页要初始化yarn和安装webpack的依赖 yarn init -y ...
 - C++11 并发指南五(std::condition_variable 详解)
		
前面三讲<C++11 并发指南二(std::thread 详解)>,<C++11 并发指南三(std::mutex 详解)>分别介绍了 std::thread,std::mut ...
 
随机推荐
- Ubuntu中安装Hadoop
			
安装前 1,更新apt sudo apt-get update 会让你输入密码(自己登录Ubuntu的时候设置的),输入密码不会显示在终端面板上,确定自己敲对之后点回车就行. 2,安装SSH服务器 ...
 - typeahead自动补全插件的limit参数问题
			
遇到的问题很诡异: 后台返回的数据都正确就是显示不正常(有时多有时少),后来发现是typeahead的问题,在1.11版本之后,limit参数从option选项里改到了setdata选项: limit ...
 - Apache Rewrite实现URL的跳转和域名跳转
			
Apache Rewrite实现URL的跳转和域名跳转 Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基 于服务器级的(httpd.conf)和目录级的 (.h ...
 - Ubuntu忘记超级用户root密码,重新设置密码 转载
			
原文链接:https://blog.csdn.net/weixin_37909391/article/details/80691601 Ubuntu版本:Ubuntu 16.04.3 LTS 1启动系 ...
 - java中functional interface的分类和使用
			
目录 简介 Functional Interface Function:一个参数一个返回值 BiFunction:接收两个参数,一个返回值 Supplier:无参的Function Consumer: ...
 - while循环脚本
			
[root@oldboy ~]# (while :;do date;sleep 5;done)& fg ctrl c退出 fg ( while :; do date; sleep 5; don ...
 - Django中search fields报错:related Field has invalid lookup: icontains
			
models.py 文件 # coding:utf8from django.db import models class Book(models.Model): name = model ...
 - ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题
			
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...
 - python操作ansible api示例
			
#!/usr/bin/env python # -*- coding:utf-8 -*- import json import shutil from collections import named ...
 - Java——Spring整合Mybatis(IDEA版)
			
本文适用于初学者: 该文主要教大家如何整合spring和mybatis,整合完成效果,可以从数据库中查询出学生信息: 完整的工程目录如下: 整合思路: 需要spring来管理数据源信息. 需要spri ...