Javascript 实时编译Typescript到es5并立即运行

Javascript 实时编译Typescript到es5并立即运行,javascript,node.js,typescript,webpack,ecmascript-6,Javascript,Node.js,Typescript,Webpack,Ecmascript 6,所以最近我决定尝试将我的一个“小”项目从es5重写为Typescript。它是一个基于express.js的Node.js Rest api 有没有办法在更改时将TS项目重新编译成一个单一文件,主要是运行该应用程序 当使用react/es6时,我使用的是webpack-dev-server,它可以很快地在更改时重新编译。在node.js中使用es5时,我使用的是nodemon,它会在发生更改时立即重新运行代码。但是如何正确地结合这两种功能呢?我应该使用webpack编译TS代码吗?但webpac

所以最近我决定尝试将我的一个“小”项目从es5重写为Typescript。它是一个基于express.js的Node.js Rest api

有没有办法在更改时将TS项目重新编译成一个单一文件,主要是运行该应用程序

当使用react/es6时,我使用的是webpack-dev-server,它可以很快地在更改时重新编译。在node.js中使用es5时,我使用的是nodemon,它会在发生更改时立即重新运行代码。但是如何正确地结合这两种功能呢?我应该使用webpack编译TS代码吗?但webpack是否也能运行代码

我已经看到了一个示例,但是使用这种方式不可能创建一个单独的输出包

src
  |- entryPoint.ts
  |- routes
  |    |- foo.ts
  |    |- bar.ts
  |    |- ...
  |- schemas
  |    |- foo.ts
  |    |- bar.ts
  |    |- ...
  |- ...
dist
  |- singleOutputBundle.js
tsconfig.json
nodemon.json
webpack.config.js
package.json

首先,安装typescript的加载程序

npmi-D可怕的类型脚本加载程序

在您的网页包配置文件中,添加以下内容

"entry": "./src/entryPoint.ts",
"output": {
    "filename": "singleOutputBundle.js",
    "path": __dirname + "/dist"
},
"resolve": {
    "extensions:[".ts",".js"],
},
"module": {
    "rules": [
         {
             "test": /\.ts$/,
             "use": "awesome-typescript-loader",
             "exclude": "/node_modules/"
         }
    ]
}

这将配置webpack为您传输ts代码,其余的您只需正常配置即可

谢谢。最后,我不得不使用这个解决方案。但正如我所写的,这个解决方案不包括运行编译后的代码。您甚至不能将webpack dev服务器与nodemon一起使用,因为它不会影响文件系统,所以nodemon没有任何可查看或运行的内容。您的配置只需注意一点,它还应该包含“target”:“node”,否则该网页可能会在导入某些模块(如fs或net)时出现问题。不幸的是,我想还没有好的解决办法。。。