如何从单独的include目录中加载模块?

时间:2019-03-13 20:27:32

标签: typescript webpack

我的项目的tsconfig.json包含此...

"include": [
    "src/**/*",
    "generated**/*"
]

有两个文件src/main.tsgenerated/data.json

我想在import data from 'data.json';src/main.ts。只有将generated/data.json移到src才能使它起作用。

我正在使用webpackts-loader输出捆绑商品。

我尝试使用rootDirstsconfig中的路径映射,以便src/main.ts可以import data from data.json;`,但无济于事。

1 个答案:

答案 0 :(得分:0)

如果您的import语句不包含相关说明符(即类似import data from "messages.json"的内容),那么您的node_modules是{{1 }}(这是最常见的)。

我认为对您来说,一个好的解决方案可能是使用编译器的路径映射功能(此处描述:https://www.typescriptlang.org/docs/handbook/module-resolution.html)。如果您为"moduleResolution"设置了指向所需位置的路径映射,则可以使用"Node"导入数据。这样一来,如果您要避免的话,就可以避免使用相对说明符。

如果这不能满足您的需求,我建议您在此处https://www.typescriptlang.org/docs/handbook/module-resolution.html进行解析,因为这基本上可以为您提供所有选择(除非您想使用更复杂的构建系统(例如webpack))。