这是针对systemjs库而非systemjs-builder的
我可能有一个特殊情况。但我正在尝试设置我的前端Web应用程序,以便在命令行中运行其单元测试。我的设置目前将TypeScript构建为systemjs注册格式,并根据其规格将其导入到站点中。我目前面临的问题是,我的一个依赖项reflect-metadata
具有一个自动检测系统,该系统会进行require('crypto')
调用,这是一个本地节点模块(不可用于npm)。我收到的错误是:
错误:ENOENT:没有此文件或目录,打开'/Users/path/to/project/node_modules/crypto.js'
我理解这里有很多事情,但我想要的行为是让systemjs完全忽略require('crypto')
调用,并允许它完全不受影响地通过,因为节点将在运行时正确加载此调用。
System.config({
defaultJSExtensions: true,
map: {
'angular2': 'node_modules/angular2',
'reflect-metadata': 'node_modules/reflect-metadata/Reflect',
'crypto': 'node_modules/crypto'
}
// packages: {
// 'reflect-metadata': {
// format: 'global',
// exports: 'Reflect',
// defaultExtension: false,
// meta: {
// '*': {
// defaultExtension: false
// }
// }
// }
// }
// meta:{
// 'reflect-metadata/Reflect':{
// format: 'global',
// exports: 'Reflect',
// defaultExtension: false
// }
// }
});