2017-02-17 65 views

回答

0

这种行为不是由实习生控制的,而是由实施definerequire的AMD模块加载器控制的。 AMD加载程序不像Node加载程序那样搜索目录;他们必须知道从哪里开始加载模块。

当使用相对路径时,加载器将相对于请求模块的文件而言。当使用非相对路径(如app/myModule)时,加载程序在app包中查找myModule。它将在基本目录(节点上的project.cwd())中寻找app。您可以使用loaderOptions中的packages条目在您的测试配置中告诉它在别处找到应用程序。请注意,这里的相对路径是相对于基本目录而不是测试配置文件。

loaderOptions: { 
    packages: [ 
     { name: 'app', location: '../some/other/dir' } 
    ] 
} 

当你的测试模块中的一个使用像app/myModule的依赖,装载机实际上将寻找它<project dir>/../some/other/dir/myModule

相关问题