我有一个案例,我的进口是:
import docHeader = require('doc-header');
import listBody = require('list-body');
失败的说他们找不到.js文件,列出的网址丢失了文件。所以我把它们改成了:
import docHeader = require('document/doc-header');
import listBody = require('document/list-body');
问题是,我所拥有的文件位于文档文件夹中。这是文件设置/调用堆栈。
布局/工人-api.ts:
import document = require('document/document');
//...
var doc = new document.Document();
doc.deserialize(results.document);
布局/文件/ document.ts:
import docHeader = require('document/doc-header');
import listBody = require('document/list-body');
//...
export class Document {
public guid : string;
public docHeader : docHeader.DocHeader;
public body : listBody.ListBody;
其他文件: 布局/文件/ DOC-header.ts 布局/文件/列表body.ts
是否可能因为调用堆栈以worker-api.ts开头,requireJS认为这是默认目录?在其他任何地方我的所有进口都按预期工作。它绝对是基于错误消息所需的文件夹。
答案 0 :(得分:0)
RequireJS中的模块名称,除非明确地进行了修改,否则将相对于基本URL进行解析。
例如,如果http://example.com/foo/bar
的脚本尝试加载cat
,则已解析的网址将为http://example.com/cat
。
您可以通过指定相对模块名称来解决此问题,例如./doc-header
。 TypeScript也会尊重这些相对路径。