将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。

最新文章

  1. Web Api 与 Andriod 接口对接开发经验
  2. 高并发访问mysql时的问题(一):库存超减
  3. PyCharm4注册码--软件安装
  4. 典型Event ID
  5. Android中UI线程与后台线程交互设计的5种方法
  6. java根据本地Ip获取mac地址
  7. 异步tcp通信——APM.Core 服务端概述
  8. Android studio教程:[3]修改背景主题
  9. 在Activity之间使用Intent传值和Bundle传值的区别和方式
  10. insertBefore 和 insetAfter函数详解
  11. 转-HTTP POST GET SOAP本质区别详解
  12. ssm的架构及整合说明
  13. Hbase 集群安装(Hadoop 2.6.0 hbase0.99.2)
  14. 3 爬虫解析 Xpath 和 BeautifulSoup
  15. Java微信二次开发(一)
  16. Css 去除浮动
  17. html如何给图片加角标
  18. Oracle HA 之 Server Pool 实战
  19. Dubbo项目一段时间后提供者消失
  20. python第三方库PIL安装的各种坑

热门文章

  1. 二、Go语言开发环境安装与编写第一个Hello World
  2. Caused by: java.io.IOException: Type mismath in vlaue from map: excepted org.apache.hadoop.io.InaWritable,received SC
  3. Thymeleaf入门入门入门入门入门入门入门入门入门入门入门
  4. 干货福利:如何使用Python中Django模板?
  5. php获取远程文件内容的函数
  6. Zabbix磁盘性能监控
  7. 动画图解Git命令
  8. spring IoC容器类接口关系梳理
  9. 搭建vsftpd文件服务器并创建虚拟用户
  10. USACO Training Section 1.2 挤牛奶Milking Cows