Visual Studio TypeScript - 找不到模块
Visual Studio TypeScript - Cannot find module
我正在使用 Visual Studio Professional 2015,并且有一个 Angular 4、TypeScript 和 Webpack 应用程序。
我们希望能够从目录和文件中 import
,例如,我们有一个名为 core
的文件夹,其中包含许多不同的组件,并且在在文件夹的根目录下,我们有一个 index.ts 文件,它导出文件夹中每个文件的所有内容。因此,例如,在核心文件夹中有一个名为 core.services.utils.ts
:
的组件
export class Utils {
static isFunction(test: any): boolean {
return typeof test === 'function';
}
}
然后在 index.ts
文件中我们有:
export { Utils } from './core.services.utils';
在我们的 Webpack 配置中,我们在 resolve
配置中为此设置了一个别名:
alias: {
'@product/core': path.join(__dirname, './Features/core')
}
所以现在,在其他模块中我们可以直接从别名导入,例如
import { Utils } from '@product/core';
当我们通过 Webpack 构建时,一切都很好,应用程序按预期工作。不幸的是,visual Studio 在 Webpack 配置中看不到别名,所以当我们通过 Visual Studio 构建时,它会给出如下错误:
Build:Cannot find modules '@product/core'
如何告诉 Visual Studio 这个别名?我是否需要在 index.ts
文件旁边添加一个 index.d.ts
文件?如果是这样,这个文件应该是什么?
我可以使用 tsconfig.json
文件中的 paths
配置来解决这个问题,例如:
"paths": {
"@product/core": [ "Shared/Features/core/index" ]
}
我想从中导入的每个文件夹都必须有一个单独的路径并不理想,但我很高兴它消除了构建错误。
我正在使用 Visual Studio Professional 2015,并且有一个 Angular 4、TypeScript 和 Webpack 应用程序。
我们希望能够从目录和文件中 import
,例如,我们有一个名为 core
的文件夹,其中包含许多不同的组件,并且在在文件夹的根目录下,我们有一个 index.ts 文件,它导出文件夹中每个文件的所有内容。因此,例如,在核心文件夹中有一个名为 core.services.utils.ts
:
export class Utils {
static isFunction(test: any): boolean {
return typeof test === 'function';
}
}
然后在 index.ts
文件中我们有:
export { Utils } from './core.services.utils';
在我们的 Webpack 配置中,我们在 resolve
配置中为此设置了一个别名:
alias: {
'@product/core': path.join(__dirname, './Features/core')
}
所以现在,在其他模块中我们可以直接从别名导入,例如
import { Utils } from '@product/core';
当我们通过 Webpack 构建时,一切都很好,应用程序按预期工作。不幸的是,visual Studio 在 Webpack 配置中看不到别名,所以当我们通过 Visual Studio 构建时,它会给出如下错误:
Build:Cannot find modules '@product/core'
如何告诉 Visual Studio 这个别名?我是否需要在 index.ts
文件旁边添加一个 index.d.ts
文件?如果是这样,这个文件应该是什么?
我可以使用 tsconfig.json
文件中的 paths
配置来解决这个问题,例如:
"paths": {
"@product/core": [ "Shared/Features/core/index" ]
}
我想从中导入的每个文件夹都必须有一个单独的路径并不理想,但我很高兴它消除了构建错误。