我使用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",
}
答案 0 :(得分:1)
您的问题很广泛,没有具体的例子。但是,完全可以在同一项目中混合使用ES和TS。也就是说,您需要了解如何构建代码。
在看不到项目结构和构建管道的情况下,无法说出解决问题的方法,但是我建议您通过tsc
运行所有代码,并在"allowJs": true
中使用tsconfig.json
。