我尝试迁移到 Angular 的爱好网站中有一堆独立的 JS 代码(ESM 模块),它们位于默认的
public
资产目录中,因此它会自动复制到网站结构中ng build
。
在哪里以及如何添加 TypeScript 代码(与任何组件分开),以便它自动转换为 JS 代码,并且可以从旧代码和新组件调用?
当前的结构如下所示:
+- src
| +- app/
| | +- components, etc
| +- index.html
| +- main.ts
+- public
+- js/
+- css/
你必须将这些文件添加到
tsconfig.json
数组include
,它们将被typescript获取并编译为JS,希望这能解决你的问题。
{
"extends": "../tsconfig.json",
...
"files": ["main.ts", "polyfills.ts"],
"include": ["src/**/*.d.ts", "public/**/*.ts"]
}
注意:这些打字稿文件将根据主应用程序的
tsconfig.json
进行编译,因此可能会给您带来一些编译错误。您应该修复这些错误。
如果您无法解决这些编译错误。那么我建议另一种方法。
为您拥有的每个
npm install
模块运行esm
,它们大多在npmjs.com
中有自己的包,这消除了转换为打字稿的复杂性,您可以轻松导入和使用它们.