直接运行ts文件

想用 ts 学习 Observable 的使用,又不想整个运行 angular 程序,所以想直接运行某一个ts文件。

法一:将 ts 编译成 js,然后运行 js 文件

home.ts

const { Observable } = require( 'rxjs');
const observable = new Observable(subscriber => {
  subscriber.next(1);
  subscriber.next(2);
  subscriber.next(3);
  setTimeout(() => {
    subscriber.next(4);
    subscriber.complete();
  }, 1000);
});
console.log('before subscribe');
observable.subscribe({
  next(x) { console.log('got value' + x); },
  error(x) { console.log('error' + x); },
  complete() { console.log('complete'); }
});
console.log('end subscribe');

编译:tsc home.ts       生成编译好的文件 home.js

运行:node home.js

直接运行ts文件_第1张图片

法二:用 ts-node 直接运行 ts

npm install -g typescript
npm install -g ts-node

运行:ts-node home.ts

直接运行ts文件_第2张图片

注意 home.ts 的路径是否正确

如何debug调试呢?

创建 launch.json 文件

直接运行ts文件_第3张图片

直接运行ts文件_第4张图片

修改 launch.json 文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "debug ts",
            "args": [
              "${relativeFile}"
            ],
            "runtimeArgs": [
              "--nolazy",
              "-r",
              "ts-node/register"
            ],
            "skipFiles": [
                "/**"
            ],
            "program": "${file}",
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen"
        }
    ]
}

这个配置会调试当前打开的 ts 文件

注意:"ts-node/register" 配置会调用本地包,所以需要再次安装 ts-node

npm install typescript
npm install ts-node

或是改为全局路径:C:\Users\hyn\AppData\Roaming\npm\node_modules\ts-node

打开 home.ts, 行号处打上断点,然后点击调试

直接运行ts文件_第5张图片

 

你可能感兴趣的:(B-JavaScript,直接运行ts,ts-node,ts文件,ts编译,ts,debug)