相关疑难解决方法(0)

如何为typescript编译器配置`baseUrl`?

我有一个使用模块构建的网站requireJS.我想在这个项目上开始使用TypeScript(1.8,Visual Studio 2015),并尝试重写其中一个模块.

目前我的模块如下:

// file: ProjectFoo/app/dashboard/viewProfile.js
define(["services/datasvc"], function (datasvc) {
    datasvc.getData(...).then(...);
});
Run Code Online (Sandbox Code Playgroud)

文件datasvc.js位于以下路径:ProjectFoo/services/datasvc.js

为了使datasvc.jsrequireJS 可以访问,我已经配置了以下路径(requireJS配置):

services - > ./services

重写我的模块后,我使用以下构造导入datasvc(注意:TypeScript编译器配置为使用amd模块结构).

import * as datasvc from "services/datasvc";
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为TypeScript将其services/datasvc视为相对于当前文件的路径.但是,如果我按如下方式重写该import语句,那么TypeScript [compiler]会成功:

import * as datasvc from "../../services/datasvc";
Run Code Online (Sandbox Code Playgroud)

然而,这导致datasvc使用相对路径导入,即生成代码看起来像:

define(["require", "exports", "../../services/datasvc"]...
Run Code Online (Sandbox Code Playgroud)

这里的问题是我将不得不更改../要包含在模块路径中的数量,具体取决于我所在文件的嵌套深度.

问题: 有没有办法使用import * as datasvc from "services/datasvc"和以某种方式配置TypeScript来处理requireJS的相同方式?

typescript

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

typescript ×1