我正在使用Visual Studio 2015中的gulp进行角度4项目。
我从here获得Visual Studio 2015 QuickStart
。
我的项目结构:
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/agnular/*" // still nothing.
]
}
我还添加了rootDirs
,但我仍然收到此错误:
Cannot find module 'items'
答案 0 :(得分:6)
首先,请确保您已安装 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
我也试过卸载/重新加载项目,但这没有帮助。