您当前的位置:网站首页>寿联,VSCode建立node + typescript开发环境,qzzn论坛

寿联,VSCode建立node + typescript开发环境,qzzn论坛

2019-04-07 00:44:50 投稿作者:admin 围观人数:316 评论人数:0次

咱们一同来喜爱TypeScr寿联,VSCode树立node + typescript开发环境,qzzn论坛ipt

现在形容词写js不必TypeScript,TypeScript很大程度增强了代码的可读性,可盯梢性,可维护性和减少了bug,那么没有理由不适用TypeScript进行js开发,可是回归实质,要根据实践动身,不是盲目的一来直接上TS。

VSCode树立node + typescript开发环境

我参加过一些运用TS开发的项目,也寿联,VSCode树立node + typescript开发环境,qzzn论坛发现运用TS呈现的问题。

举点比方:

  1. 无处不见的any
  2. 无视TS
  3. 高版其他express现已内置TS, 实践上处处仍是any。
app.get("/", function(req: any, res: any) {
res.send("Hello," + data.name);
});
  1. 自身一个函数能写完的代码,却写一个class来完结
  2. tslint编译一堆过错,仍旧无视
  3. 这条却是其次, 由于许多时分,或许你没有那么多时刻去处理这些问题。也阐明咱们在工程化下的功夫缺乏。

node和typescript

node + typescript 入门级其他装备真的特别简略。

  1. npm装置typescript
  2. 装备tsconfig.json
  3. 装备package.json的scripts指令

简略三步,你就能够经过简略的一步npm run xxx,TS文件们就乖乖的变为了js寿联,VSCode树立node + typescript开发环境,qzzn论坛文件。

然后履行n寿联,VSCode树立node + typescript开发环境,qzzn论坛ode dist/xx.js就能发动你的效劳了,可是,这不是咱们所期望的,咱们期望我修正ts文件后,主动编译为js文件,然后发动效劳。

VSCode树立node + typescript开发环境

我了解的相对较好的有下面三种办法:

ts-node-dev

这个计划是无意中看到的,star并不是特别多,400左右。

ts-node-dev 是根据 ts-node 的。

ts-node 能够直接履行ts文件,是不是很帅。

一句代码就能够监听文件改变,并运转编译后的代码。

~~~

t绿山墙的安妮读后感s-node-dev --respawn app.ts

~~~

我为什么要将Typescript与Expressnotepad、nodejs一同运用(译文)

TypeScript-Node-Starter

微软这也有一个参阅。也有对tslint的支撑。

基本思路便是package.json 的scripts。

其主要运用的是 concurrently 和# nodemon

其package.json的scripts如下:

 "scripts": {
"start": "npm run serve",
"build": "npm run build-sass && npm run build-ts && npm run tslint && npm run copy-static-assets",
"serve": "node dist/server.js",
"watch-node": "nodemon dist/server.js",
"watch": "concurrently -k -p \"[{name}]\" -n \"Sass,TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-sass\" \"npm run wat水下古城ch-ts\" \"npm run watch-node\"",
"test": "jest --forceExit --coverage --verbose",
"watch-test": "npm run test -- --watchAll",
"build-ts": "tsc",
"watch-ts": "tsc -w",
"build-sass": "node-sass src/public/css/main.scss dist/publiczookeeper/css/main.css",
"watch-sass": "node-sass -w src/public/css/main.scss dist/public/css/main.css",
"tslint": "tslint -c tslint.json -p tsconfig.json",
"copy-static-assets": "ts-node copyStaticAssets.ts",
"debug": "npm run build && npm run watch-debug",
"serve-debug": "nodemon --inspect dist/server.js",
"watch-debug": "concurrently -k -p \"[{na苍术me}]\" -n \"Sass,TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-sass\" \"npm run watch-ts\" \"npm run serve-debug\""
}

TypeScript with Node.js里边供给了愈加简略的办法。 nodemon + ts-node

~~~

"scr寿联,VSCode树立node + typescript开发环境,qzzn论坛ipts": {

"start": "npm run build:live",

"build": "tsc -p .",

"build:live": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts"

},

~~~

TypeScript-Node-Starter的package.json能够好好看看,具有很好的扩展性。

3. gulp-typescript + gulp-nodemon

gulp-typescript担任编译ts

gulp-nodemon担任发动效劳

主要使命便是copy, compile和watch

const gulp = require("gulp");
const ts = require("gulp-typescript");
co飞行棋nst nodemon = require('gulp-nodemon')
const del = require('del');
const sourcemaps = require('gulp-sourcemaps');
const tsProject = ts.c女生发型reateProject唉组词("tsconfig.json", { noImplicitAny: true });
// 默许使命
gulp.task("default", ["copy", "compile", "watch"], function () {
console.log('started .....')
})
// 仿制装备文件
gulp.task('copy', function () {
return gulp.src("./src/config/**/*.json")
.pipe(gulp.dest("./dist/config"))
})
// 编译
gulp.task("compile", function () {
return gulp.src("./寿联,VSCode树立node + typescript开发环境,qzzn论坛src/**/*.ts")
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(tsProject())
.js
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest("dist"));
})
gulp.task('build',['compi快速减肥法le','copy'])
// 删去
gulp.task('del', function (cb) {
return del([
'dist/**',
], cb);
});
// 监听改变
gulp.task('wa吴佩慈tch', ['c葳莎妮ompile'], function (done) {
var stream = nodemon({
script: 'dist/app.js',
watch: 'src/**',
tasks: ['copy', '海鲜火锅compile'],
done: done,
ext:新年伊始 'ts html json'
})
return stream
})

运用typescript开发node js

TypeScript with Node.js

-------------------------

ESLint

到这儿,咱们现已又进了一步。

VSCode自身有插件TSLint插件,并且有新旧版。

ESLint插件默许是 能够读取tslint.json的装备的,假如没有,他有自己的默许装备。

新版的,假如有过错,默许是正告,而不是过错提示。

你去首选项勾选掉:tslint.alwaysShowRuleFailuresAsWarnings即可。

咱们是需求增加eslint.json装备的

  1. 便利自定义
  2. eslint编译查看,比方你的搭档是用txt文件编写的呢。

因而,咱们还需求装置tslint包。

还需求在package.json的附子理中丸的成效与效果文件里边增加一个脚本

"tslint": "tslint -c tslint.json -p tsconfig.json",

Prettier

代码美化。许多编辑器都有相似功用, VSCode也不破例。

VSCode的Prettier内置了prettier-寿联,VSCode树立node + typescript开发环境,qzzn论坛eslint和prettier-tslint插件。

你能够在装备里边json文件修正或许装备面板修正。

"prettier.eslintIntegration": false,

这浚样一来,Prettier运用的便是tslint的装备。

在这儿今后, windows换将下,默许状况,你就能够Ctl + Shift + F 主动格式化代码了。并且是依照你的tslint装备来格式化的,梦幻岛经典游戏站 就问你怕不怕。

总结

咱们终究来看一下package.json下scripts的装备

"scripts": {
"build": "npm run tslint && npm run build-ts",
"build-ts": "tsc",
"watch-ts": "tsc -w",
"watch-node": "nodemon dist/app.js",
"tslint": "tslint -c tslint.json -p tsconfig.json",
"dev": "concurrently \\"npm:watch-ts\\" \\"npm run watch-node\\""
}
  • buiit小食哥ld: 终究的构建
  • build-ts: 仅仅是build TS文件
  • watch-ts: 文件改变时,就build
  • watch-node: build后的文件改变后,就重启效劳
  • tslint: TS语法查看
  • dev: 开发形式下,修正ts文件后,主动build为js文件,并发动效劳。

这样一来,感觉轻松多了,想想就没好,主动美化代码,编写后主动发动金鹰卡通效劳。

the end
刺痛无数人的真相:婚姻里千万别碰这个雷区