gpt4 book ai didi

angular - 如何从 Visual Studio 2015 中的非相对路径导入模块

转载 作者:太空狗 更新时间:2023-10-29 17:19:24 27 4
gpt4 key购买 nike

我正在 Visual Studio 2015 中使用 gulp 开发 Angular 4 项目。我从 here 获得了 Visual Studio 2015 QuickStart .

  • tsc 版本:2.5.2

我的项目结构:

src
└──angular
└──common
└──models
└──items.ts
└──ui
└──components
└──items.component.ts

items.ts

export module items {
export const listOfItems = [1,2,3];
}

我想在我的 src 文件夹中导入所有内容时使用非相对路径,即:

items.component.ts

import { items } from 'items';

这是我的 tsconfig.json 文件(与 src 处于同一级别):

{
"compileOnSave": false,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es2015", "dom" ],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"typeRoots": [
"node_modules/@types/"
]
}
}

我尝试将其添加到 compilerOptions 中:

"baseUrl": "." //it doesn't help.

在那之后:

"baseUrl": ".",
"paths": {
"*": [
"*",
"src/angular/*" // still nothing.
]
}

我还添加了 rootDirs 但我仍然收到此错误:

Can't find module 'items'

最佳答案

首先,确保你已经安装了 TypeScript for Visual Studio 2015 - v2.5.2 ,之后:

tsconfig.json:

{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./src",
"paths": {
"@models/*": [ "angular/common/models/*" ]
}
//..
}
}

用法:

import { items } from '@models/items';

那么,这里发生了什么:

* 指向我们文件的实际名称,所以在我们的例子中 @models 之后有 * 指向 items,而 items 位于 angular/common/models/* 中。

此外,我们应该将其添加到 systemjs.config.js 中,以便解析路径:

 System.config({
paths: {
// paths serve as alias
'npm:': 'node_modules/',
"@models/*": ["rootDist/angular/common/models/*"]
^
where you keep your files, for example dist/
}
// other things..
});

这里还有一件重要的事情是重启visual studio

我也尝试过卸载/重新加载项目,但这没有帮助。

关于angular - 如何从 Visual Studio 2015 中的非相对路径导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46302004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com