Typescript

1、js的超集

官网:typescriptlang.org/tslang.cn

来自:微软

安装:官方的  npm i typescript ts-loader --save-dev

第三方的  npm i typescript awesome-typescript-loader  --save-dev   //利用缓存啥的  好像更快一点

配置

tsconfig.json  //在根目录下

webpack.consig.js

tsconfig:

      配置选项
官网/docs/handbook/compiler-options.html
常用选项
compilerOptions
include
exclude
2、eg
(1)初始化
npm init
npm install webpack typescript ts-loader awesome-typescript-loader --save-dev
(2)文件
tsconfig.js
src/app.js
webpack.config.js
(3)webpack.config.js
module.exports = {
entry:{
'app':'app.ts'
},
output:{
filename:'[name].bundle.js'
},
module:{
rules:[
{
test:/\.tsx?$/,
use:{
loader:'ts-loader'
}
}
]
}
} (4)tsconfig.json

{
"compilerOptions":{
"module":"commonjs",
"target":"es5",
"allowJs":true
},
"include":[
"./src/*"
],
"exclude":[
"./node_modules"
]
}

(5)app.ts
const NUM =45
interface Cat {
name:String,
gender:String

function touchCat(cat:Cat){
console.log(cat.name)
}
touchCat({
name:'tom',
gender:'male'
}) (6)安装lodash
//看了下lodash的官网:是一个一致性、模块化、高性能的 JavaScript 实用工具库。
    cnpm install lodash --save-dev
用法简单示例:
—_.chunk(['a','b','c','d'],2);
// [['a','b'],['c','d']]
      —_.chunk(['a','b','c','d'],3);
//   [['a','b','c'],['d']]
详情 还是看官网,这里就不多去拓展了 lodash的声明文件: npm install @types/lodash --save
import * as _ from 'lodash'  //参数穿错了的话会及早的提醒
-.chunk([1,2,3,4],2) //觉得安装这些生命比较麻烦的话,就安装typings
npm install typings
typings install lodash
npm uninstall @types/lodash --save //卸载
typings install lodash --save 这样会多了typings.json的文件
在tsconfig.json里
{
"compilerOptions":{
"module":"commonjs",
"target":"es5",
"typeRoots":[ //打包的时候 能找到声明文件 在?
"./mode_modules/@type",
"./typings/modules"
]
}
}

webpack散记--Typescript的更多相关文章

  1. webpack中typeScript的打包配置

    2018年typescript发展的非常好,js是一门非常灵活的语言,所以一个功能,怎么写都能够写出来,但是这也会导致一个问题,不同人写js的方式不同,那么会导致同一个功能出现的代码风格会迥然不同.这 ...

  2. webpack 集成 Typescript && Less

    webpack 集成 Typescript && Less TypeScript是JavaScript的一个类型化的超集,可以编译成纯JavaScript,在本指南中,我们将学习如何将 ...

  3. Typescript + TSLint + webpack 搭建 Typescript 的开发环境

    (1)初始化项目 新建一个文件夹“client-side”,作为项目根目录,进入这个文件夹: 我们先使用 npm 初始化这个项目: 这时我们看到了在根目录下已经创建了一个 package.json 文 ...

  4. webpack散记

    1. manifest manifest存储了webpack的chunk相关的信息.具体为一个对象,或者包含runtime的一段代码.其中包含着一个chunkId,已经对应chunkId的相关信息,例 ...

  5. webpack散记---代码分割 和 懒加载

    webpack methods ES 2015 Loader spec (1)webpack methods方法 require.ensure //可以动态加载依赖 []:dependencies / ...

  6. webpack散记---提取公共代码

    (1)作用: 减少代码冗余 提高加载速度 (2)来源 commonsChunkPlugin webpack.optimize.CommonsChunkPlugin (3)配置 { plugins:[ ...

  7. 从零构建一个react+webpack+typescript的应用

    今天要完成在windows下从零开始构建一个react应用的任务 首先,新建一个文件夹,然后在该文件夹下使用命令npm init 初始化一个node项目. 然后安装所需依赖, npm i react ...

  8. 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境

    转载请注明出处! 说在前面的话: 1.为什么不使用现成的脚手架?脚手架配置的东西太多太重了,一股脑全塞给你,我只想先用一些我能懂的库和插件,然后慢慢的添加其他的.而且自己从零开始配置也能学到更多的东西 ...

  9. 【WebGIS系列】Typescript+WebGL+Webpack开发环境搭建

    目前Web实现矢量渲染的主流技术包括SVG.VML和WebGL.相对而言,VML是一种较古老的技术,虽然未成为W3C标准,但被早期的IE浏览器(IE9以下)和微软Office广泛使用,目前已经远离了浏 ...

随机推荐

  1. 指定GPU运行python程序

    一.命令行运行python程序时 1.首先查看哪些GPU空闲,nvidia-smi显示当前GPU使用情况. nvidia-smi 2.然后指定空闲的GPU运行python程序. CUDA_VISIBL ...

  2. 第1节 kafka消息队列:7、kafka的消费模型

  3. Python3中找不到xrange定义和不能用len(map())

    问题1:python3中找不到xrange的定义,vscode中提示未定义 解决:改成range,因为python3中取消了vscode 问题2:python3中map函数返回的是迭代器,因此无法用l ...

  4. container-coding-codec

    1 数字容器格式 container format 1.1 一些音频专有的容器: 1.2 静态图像专用的容器: 1.3 视频容器,可以容纳多种类型的音频和视频以及其他媒体 1.4 视频容器格式概述 1 ...

  5. IOS 导航栏颜色 标题

    修改导航栏颜 #define COLOR_TOMATO    [UIColor colorWithRed:255/255.0f green:99/255.0f blue:71/255.0f alpha ...

  6. MySQL性能调优语句

    mysql>show global status; 可以列出MySQL服务器运行各种状态值 一.慢查询 mysql> show variables like '%slow%'; mysql ...

  7. VM ubuntu18.04.01虚拟机没办法联网

    sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service ...

  8. CF 1198 A. MP3 模拟+滑动窗口

    A. MP3   题意:给你n个数,一个大小为8*I的容量,保存一个数需要多少容量取决于给定n个数的种类k,用公式 log2 k   计算,如果给定的容量不能保存所有数,选择减少数的种类来降低保存一个 ...

  9. MySQL 如何使用 PV 和 PVC?【转】

    本节演示如何为 MySQL 数据库提供持久化存储,步骤为: 创建 PV 和 PVC. 部署 MySQL. 向 MySQL 添加数据. 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到 ...

  10. 从LG绝不放弃智能手机业务看后者到底有多重要?

    近年来,全球手机市场放缓已经是不争的事实.与此同时,手机行业集中趋势明显,几家巨头掌握着大部分市场,占据着垄断的市场位置.但就是在这样的态势下,很多手机部门明显已经成为累赘的企业,却依然不想放弃智能手 ...