TypeScript环境搭建的实现步骤
作者:草木红
前提是已经装好了node.js,node.js安装图文教程
1. 安装TS环境
进入到要项目文件夹中,使用 npm init --yes 初始化(该命令在项目文件夹中生成 package.json)
安装 typescript (安装不成功,可能是权限不够)
全局安装:cnpm i typescript -g
【建议】
本地安装:cnpm i typescript -D
【cnpm i typescript -D 是 cnpm install typescript --save-dev的缩写】
在项目文件夹中生成tsconfig.json文件
tsc --init
修改刚刚生成的 tsconfig.json 文件中的配置
注意: 如果进行如下配置, dist 、src、package.json 三者须在同一个父目录下
"outDir": "./dist" //ts编译后生成js文件保存到dist文件夹中 "rootDir": "./src", //自己编写的ts源文件在src文件夹中 "target": "es5", //编译出来的js文件兼容es5语法
在src目录下新建一个base.ts文件
//创建一个字符串类型的变量str let str: string = 'hello word'; console.log( str);
编译src目录以及子目录下的ts文件
在src目录下:输入tsc ( 注意直接写tsc命令即可),会把src目录以及子目录下的ts文件全部编译成js文件,并全部输出到dist目录中
tsc
自动编译
tsc --watch
2. 安装 ts-node
ts-node让node能直接运行ts代码,无需使用tsc将ts代码编译成js代码。
全局安装:cnpm i ts-node -g
【建议】
本地安装: cnpm i ts-node -D
安装好 ts-node 之后,在ts文件所在的文件夹中使用ts-node,将直接在终端中运行ts文件
ts-node base.ts
3. 安装nodemon
nodemon作用:自动检测到目录中的文件更改时通过重新启动应用程序来调试,基于node.js的应用程序
全局安装:cnpm install -g nodemon
【建议】
本地安装:cnpm i nodemon -D
在package.json中配置自动检测,自动重启应用程序
"scripts": { //如果已经存在直接将下边的粘进去即可 "start": "nodemon --watch src/ -e ts --exec ts-node ./src/base.ts" }
- nodemon --watch src/ 表示:检测目录是package.json同级目录src
- -e ts 表示:nodemon 命令准备将要监听的是ts后缀的文件
- --exec ts-node ./src/base.ts 表示:检测到src目录下有任何变化 都要重新执行base.ts文件
开始监听src目录
start 是第2步配置时的命名,相对应即可
npm start
4. Parcel打包支持浏览器运行TS文件
安装Parcel打包工具:npm install -g parcel-bundler
在package.json 所在的文件夹中新建一个 index.html 文件
在html文件中引入你想要在浏览器中看到效果的ts文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <!-- 引入的是ts文件 --> <script src="./src/base.ts"></script> </head> <body> </body> </html>
在package.json中给npm添加启动项,支持启动parcel工具包
"scripts": { "startParcel": "parcel ./index.html" //注意:如果配置中已经有start,可以命名为别的 },
在启动parcel工具包
npm run startParcel
如果上边的报错则用
cnpm run startParcel
到此这篇关于TypeScript环境搭建的实现步骤的文章就介绍到这了,更多相关TypeScript环境搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!