我可以在Nodejs项目中同时使用ES5和Typescript吗?

时间:2018-11-25 10:19:38

标签: node.js typescript express babeljs ecmascript-5

我使用es5表示法开发Express应用,现在我需要使用界面。当我搜索它时,得知ES5中没有接口结构,因此我决定用Typescript编写此部分。但是,我不能在另一个用ES5标记编写的文件中 require()这个ts文件。我偶尔会搜索此问题,但找不到任何谈论此问题的消息来源。我很可能走错了路,但我不知道该怎么做。有没有一种方法可以同时运行Typescript和es5。如何解决这个问题?

感谢您的帮助!

已更新

只有用打字稿写的模块文件夹。

我的文件结构的一部分在这里:

/managers
/modules
/routes
app.js
package.json
tsconfig.json

这是tsconfig.json文件的内容:

{
    "compileOnSave": false,
    "compilerOptions": {
      "baseUrl": "./modules",
      "outDir": "./dist/out-tsc",
      "sourceMap": true,
      "target": "es5",
      "module": "commonjs",
      "allowJs": true
    }
  }

package.json文件是

"scripts": {
    "start": "nodemon --legacy-watch ./bin/www"
  },
  "dependencies": {
    "async": "^2.6.1",
    "concurrently": "^4.1.0",
    "cookie-parser": "~1.4.3",
    "debug": "~2.6.9",
    "express": "~4.16.0",
    "http-errors": "~1.6.2",
    "jade": "~1.11.0",
    "jsonwebtoken": "^8.3.0",
    "mongoose": "^5.2.12",
    "morgan": "~1.9.0",
    "nodemon": "^1.18.4",
    "typescript": "^1.8.10",
  }

1 个答案:

答案 0 :(得分:1)

您的问题很广泛,没有具体的例子。但是,完全可以在同一项目中混合使用ES和TS。也就是说,您需要了解如何构建代码。

在看不到项目结构和构建管道的情况下,无法说出解决问题的方法,但是我建议您通过tsc运行所有代码,并在"allowJs": true中使用tsconfig.json